www问答网
所有问题
Redis 可以用来做数据库吗
如题所述
举报该问题
推荐答案 2017-08-10
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做数据库不靠谱,不是所有的数据都是立即回写磁盘的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/KK11n44W4341KdK44G.html
其他回答
第1个回答 2019-06-13
1、用来存放诸如用户注册信息、产品信息等可以估算出体量的数据还是很好的
比如一个用户注册信息1k,一亿用户信息也才需要100G内存
2、数据结构足够使用
3、搜索当然不要用redis,可以用ES来实现,搜出id后直接在redis里命中对应的数据。
4、redis最大的问题是事务的支持不好,但可以解决
5、读性能与硬盘数据库比,高出的不只一个数量级,尤其数据越多随机读的优势越明显。 并且互联网应用一般都是读多写少
第2个回答 2017-08-10
其实选择用这个redis是因为上次备选的H2的内存数据库的方案被否定了。这才选择了redis。使用它,可以大幅提高数据的查询效率,而且redis自身可以完成持久化,这就不会造成因服务器关闭而数据丢失的情况。同时它也支持集群。本回答被提问者采纳
相似回答
Redis可以用来做数据库吗
?
答:
结论:Redis 不能当数据用
。原因:我们理解的数据库,无论是 SQL、NoSQL、NewSQL,至少要是读写一致的。也就是说如果客户端发起一个写请求,如果服务器回复了成功,就算是之后服务器异常重启了,这个数据一样是能被读到的。而 Redis 不是读写一致的。答案里有人提到说 Redis 也会持久化,但是就算...
Redis可以用来做数据库吗
答:
Redis本来就是内存数据库,用来当做计数器
,队列等的确很不错,性能高效。但是,但是,但是架构不靠谱下可能使你提心吊胆。只用Redis作为数据库时,使用时确实很爽,突然来个新需求、数据突然暴增、数据架构迁移的时候就给跪了。Redis是key-value数据库,面对key的内存搜索,优势明显。大部分还是要和其他...
三分钟读懂
redis数据库
答:
3.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
。(1)会话缓存(Session Cache)最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果...
Redis
可以用来做数据库吗
答:
Redis
是内存
数据库
,对数据的操作是在内存中
进行
的,但是由于内存是很宝贵的,所以存储数据不宜过多
redis
一般存储什么类型
数据
答:
Redis
是一个开源的底层使用C语言编写的key-value存储
数据库
。可
用于
缓存、事件发布订阅、高速队列等场景。而且支持丰富的数据类型:string(字符串)、hash(哈希)、list(列表)、set(无序集合)、zset(sorted set:有序集合)Redis在项目中的应用场景1、缓存数据最常用,对经常需要查询且变动不是很频繁的数据...
redis数据库
有哪些特点?
答:
redis
是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储
数据库
。是NoSQL(非关系型数据库)的典型代表,也是时下是最流行的键值对存储数据库。它支持字符串、哈希、链表、集合、有序集合五种数据存储类型。由于其基于内存运行的特性,相较于基于硬盘的数据库系统,从执行效率上讲...
redis
是什么
数据库
?
答:
REmote DIctionary Server(
Redis
) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型
数据库
。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为...
redis
是干嘛的
答:
Redis
是一个高性能的key-value
数据库
。
redis的
出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合
可以
对关系数据库起到很好的补充作用。它提供了Java,C/C+,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。相关内容:下面是官方的bench-mark数据:测试...
Redis数据库
适合使用于哪些应用场景
答:
redis
开创了一种新的数据存储思路,使用redis,我们不用在面对功能单调的
数据库
时,而是利用redis灵活多变的数据结构和数据操作。1、首先redis内部使用一个redisobject对象来表示所有的key和value,redisobject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis...
大家正在搜
可以用来做
可以用来做什么
水桶可以用来做啥
可以用来做主题的
岩石可以用来做什么
小石头可以用来做什么
我家的小程序可以用来做什么
可以用来做胭脂的是
石头可以用来做啥
相关问题
Redis-Redis可以作为一个数据库使用吗
Redis 可以用来做数据库吗
Redis 可以用来做数据库吗
Redis 可以用来做数据库吗
Redis 可以用来做数据库吗
Redis可以作为一个数据库使用吗
Redis 可以用来做数据库吗
redis不是数据库吗