首页数据库redis 数据库 redis是什么数据库

redis 数据库 redis是什么数据库

编程之家2023-10-1886次浏览

很多朋友对于redis 数据库和redis是什么数据库不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

redis 数据库 redis是什么数据库

Redis可以用来做数据库吗

结论:Redis不能当数据用。

原因:我们理解的数据库,无论是 SQL、NoSQL、NewSQL,至少要是读写一致的。也就是说如果客户端发起一个写请求,如果服务器回复了成功,就算是之后服务器异常重启了,这个数据一样是能被读到的。

而 Redis不是读写一致的。

答案里有人提到说 Redis也会持久化,但是就算是 AOF,也是给客户端应答后,再定时写磁盘的,都是不一致的。

这里还没讨论磁盘损坏的问题。

有几个基于持久化存储的、兼容 Redis协议的系统可以当作数据库使用,比如 SSDB、ARDB、Pika等。但是据我所知,这些项目现在都不支持集群,没办法动态扩容。

redis 数据库 redis是什么数据库

另外,还有一个很麻烦的问题,就是刚才提到的磁盘损坏问题,如果数据只存放在一个单点,一旦有磁盘损坏,就会造成数据丢失,所以,即使是同步持久化的但是没有集群备份数据的系统,用作数据库也是有很大风险的。

redis不是数据库吗

是数据库Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。定义

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。[1]

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)

目前,Vmware在资助着redis项目的开发和维护。

redis 数据库 redis是什么数据库
作者

redis[2]的作者,叫Salvatore Sanfilippo,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal公司。他使用的网名是antirez。

性能

下面是官方的bench-mark数据:[1]

测试完成了50个并发执行100000个请求。

设置和获取的值是一个256字节字符串。

Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。

文本执行使用loopback接口(127.0.0.1)。

结果:读的速度是110000次/s,写的速度是81000次/s。

请采纳!

redis是什么数据库

REmote DIctionary Server(Redis)是一个由 Salvatore Sanfilippo写的 key-value存储系统,是跨平台的非关系型数据库。

Redis是一个开源的使用 ANSI C语言编写、遵守 BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

Redis 可以用来做数据库吗

redis能否做数据库用取决于如下几个条件:

1:数据量,毕竟内存数据库,还是受限于内存的容量,虽然可以redis可以持久化。

2:数据的结构,是否能够将关系型数据结构都转换为key/value的形式。

3:查询的效率,对范围查询等,是否能转换为高效的hash索引查询

redis能不能拿来当数据库,取决于你想要存储什么数据:

如果你打算存储一些临时数据,数据规模不大,不需要太复杂的查询,但是对性能的要求比较高,那可以拿redis当数据库使用。

否则别拿来当数据库用。

redis能不能做数据库,要看你具体的需求了:

1.像上面提到的,redis的持久化有问题,如果使用aof模式,并且fsync always,则性能比mysql还低,如果你喜欢redis方便的数据结构而对性能要求不高,或者性能要求很高,但允许一定程度的丢失数据,则可以用redis做为数据库。

2. redis是内存数据库,内存写满后,数据不会存储到硬盘上(VM不稳定,diskstore未启用),如果你内存足够大,则可以用redis作为数据库。

redis是一种k/v的内存数据库,适合小数据量的存储以及实时要求高的地方,但是不适合做完整数据库,完整数据库基本上都有一套详细解决方案,基本上没有做了的,比如mysql。

项目里用到的redis是用来做缓存的,设置过期时间,到时就自动清掉。数据库还是用mysql等这种成熟的方案。

如果你非要用一种nosql来做数据库,推荐你用Mongodb。

这种KV存储完全不具备数据库所能提供的数据安全性保障。

所以还是用来做缓存比较合适。

redis做数据库不靠谱,不是所有的数据都是立即回写磁盘的。

redis 数据库和redis是什么数据库的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

主机游戏主播 当游戏主播需要什么条件域名ip查询工具?如何根据域名查询ip地址