Redis可以用来做数据库吗?

Redis可以用来做数据库吗?,第1张

结论:Redis 不能当数据用。

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

而 Redis 不是读写一致的。

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

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

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

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

业务数据,包括用户,订单等数据,要求数据严格准确和一致

规模如果是在千万级,或者不超过10亿级,80%选用MySQL来存储

规模如果再10亿-万亿,目前HBASE为主

以上两种是免费数据库,但对于Oracle,DB2,SQL Server付费数据库(巨贵),主要使用在银行和电信,因为对数据一致性,准确性,容灾备份要求更严格。

因为商业数据库的昂贵,互联网公司一般用不起,感兴趣可以了解下10年前阿里发起的去IOE的故事,即去掉IBM,Oracle,EMC,代替以开源软件再次开放的系统,开创新数据新时代。

日志数据,包括用户所有线上行为数据,浏览,搜索,点击等,存储在HDFS上

这类数据,相比订单和支付数据,规模要成10倍-1000倍增长。比如,我浏览10个店铺宝贝才转化一个订单数据。但该类数据,不会要求太多性能和苛刻的准确性,甚至可以容忍丢小部分日志数据。这部分数据,会放到HDFS上来存储。即一种分部式文件存储系统,存储成本很低,如果查询的话,就可以直接使用hive等工具,写SQL查询。

当然,数据库现在发展很迅猛,比如TiDB,非关系数据库MongoDB,缓存Redis等。

redis一个实例能存一个key或是value大小最大是512M。 *** 作方法如下:

1、首先要安装redis,开启redis的服务。

2、安装python的redis模块。pip install redis。

3、第一种直接连接redis。

4、打开redis客户端,查看redis数据库。如图。

5、第二种通过连接池连接。这样就可以实现多个Redis实例共享一个连接池。如图。

6、打开redis数据库客户端查看,就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6825713.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存