有没有纯 Redis 作为后端数据存储的项目?最好还是 Python 的!

2014-03-27 23:35:17 +08:00
 mywaiting
好像大家都是把Redis作为缓存来用啊!其实Redis的持久化存储能力也是挺Ok的啊!

有没有纯Redis作为数据库的项目呢?求介绍!

谢谢!
6568 次点击
所在节点    问与答
16 条回复
binux
2014-03-27 23:40:04 +08:00
谁告诉你Redis持久化靠谱了,dump的时候卡个半死
kfll
2014-03-27 23:42:40 +08:00
搜索一篇名为『色情网站有多大』的文章,里面有提到『在软件方面,YouPorn完全使用Redis进行数据存储,并使用MySQL小型数据库管理系统对Redis进行添加或管理。网页的HTTP服务器是Nginx,负载均衡则使用的是HAProxy和Varnish。Redis服务器每秒需要处理30万个页面请求,每小时会记录下8到15GB的数据(包括用户登录、观看记录等),YouPorn认为Redis处理每天2亿的访问量不成问题。』
gaicitadie
2014-03-27 23:44:03 +08:00
十年前迷信纯静态,连论坛都想着生成静态页
clowwindy
2014-03-28 00:19:39 +08:00
我们之前的惨痛教训,纯用 Redis 做持久化,后来用户量上来之后发现大部分表只能挪到传统数据库里,内存就那么多,Redis 只能做缓存放热数据,项目几乎等于重写了一遍。

不要迷信单一技术,根据资源合理进行配置路才比较好走。
nosmatch
2014-03-28 09:13:28 +08:00
如果机器够多,那就开主从,要么就自己做持久化
mywaiting
2014-03-28 09:21:05 +08:00
本来想求介绍个纯redis的开源project围观一下什么的,结果大家都在吐槽redis……囧……
tywtyw2002
2014-03-28 09:25:57 +08:00
现在内存这么便宜 32G的纯radis 应该不怎么成问题吧?

我觉得radis存下用户数据啥的没啥问题,但是帖子啥的内容存进去比较蛋疼,利用率比较低。
向YouPorn说的,存放观看记录,用户信息啥的是很正确的。

radis目前对crash恢复能力如何呢?
9hills
2014-03-28 10:11:28 +08:00
@mywaiting 不是说redis不好,而是说它有局限性
mywaiting
2014-03-28 10:23:33 +08:00
@binux 参考一下这个文章 http://blog.nosqlfan.com/html/3813.html 里面有一句话:总之最后的结论就是,在Redis开启AOF的情况下,其单机数据安全性并不比这些成熟的SQL数据库弱。
@clowwindy Redis就是靠内存吧,你的项目冷热数据和内存限制只能让你重写啦!现在内存便宜,其实你的问题不至于会成为大问题。你的这句话“不要迷信单一技术,根据资源合理进行配置路才比较好走”我记下来了,谢谢亲!不过想到与其不断从MySQL到Redis上面靠,不与直接用redis好了,省事!
@tywtyw2002 crash可用AOF主从,我没有实际应用过,当社区反映没有问题。
@9hills 亲能告诉我一些具体的局限性的例子么?求拍醒......
binux
2014-03-28 10:27:36 +08:00
@mywaiting 我没说安全性啊,开启AOF性能会下降,用主从太鸡肋
Numbcoder
2014-03-28 10:29:27 +08:00
和 @clowwindy 有过一样的惨痛教训,不要觉得现在的内存够大,够便宜,就可以随便用。等你的程序跑个一年之后,你会发现有很多历史数据是极少被访问的,但是又不能删,却仍占着内存,再后来,你会发现这个坑越来越大!
mywaiting
2014-03-28 10:38:50 +08:00
@Numbcoder 拿V2EX的当前的运行情况来说吧“注册会员 59188 主题104403 回复1012381”按照每个kv占内存1kB来计算,这里也不超过2GB而已。求继续拍醒.......= =
qdvictory
2014-03-28 10:56:12 +08:00
@mywaiting v2ex的数据不算多,我们公司的数据库有14g,但是时常访问的数据最多也就1g,这些热数据完全可以用redis顶下来,但是不排除访问冷数据。
如果全用redis的话这个性价比是不可接受的。所以我的做法一直是用mysql保存所有的数据,同时redis实时对热数据进行缓存。就像mysql是一个资料库,所有的资料都可以在mysql找到,而redis像是一个前台,可以很快速的查到想要的数据,如果找不到,就去资料库现提。
目前redis占用不到1G的内存。
qdvictory
2014-03-28 11:00:57 +08:00
@mywaiting 继续上一条,mysql会定时做备份,就算redis挂掉也没有关系,可以再从mysql取。这样又减低了一点运维的风险。同时有些功能redis可以完成的,那就用redis做,比如排名,时间线之类。
而有的时候redis确实也没有mysql灵活,业务需求不可能一直局限于技术能力,这时redis就单纯做缓存就好。
总而言之,言而总之,做服务器的千万别在一楼树上吊死,一定要给自己留一条后路,降低任何风险造成的损失。
mywaiting
2014-03-28 11:18:05 +08:00
@qdvictory 亲的话,不能认同更多!
Numbcoder
2014-03-28 13:04:23 +08:00
@mywaiting 这个当然是要看你什么项目了,如果数据量是可预估的,那用 redis 是没啥问题的。
V2EX 才多少数据啊,每天发帖,评论就那么点。其余都是读的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/106208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX