V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mywaiting
V2EX  ›  问与答

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

  •  
  •   mywaiting · 2014-03-27 23:35:17 +08:00 · 6607 次点击
    这是一个创建于 3892 天前的主题,其中的信息可能已经有所发展或是发生改变。
    好像大家都是把Redis作为缓存来用啊!其实Redis的持久化存储能力也是挺Ok的啊!

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

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

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

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

    radis目前对crash恢复能力如何呢?
    9hills
        8
    9hills  
       2014-03-28 10:11:28 +08:00 via iPad
    @mywaiting 不是说redis不好,而是说它有局限性
    mywaiting
        9
    mywaiting  
    OP
       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
        10
    binux  
       2014-03-28 10:27:36 +08:00   ❤️ 1
    @mywaiting 我没说安全性啊,开启AOF性能会下降,用主从太鸡肋
    Numbcoder
        11
    Numbcoder  
       2014-03-28 10:29:27 +08:00   ❤️ 2
    和 @clowwindy 有过一样的惨痛教训,不要觉得现在的内存够大,够便宜,就可以随便用。等你的程序跑个一年之后,你会发现有很多历史数据是极少被访问的,但是又不能删,却仍占着内存,再后来,你会发现这个坑越来越大!
    mywaiting
        12
    mywaiting  
    OP
       2014-03-28 10:38:50 +08:00
    @Numbcoder 拿V2EX的当前的运行情况来说吧“注册会员 59188 主题104403 回复1012381”按照每个kv占内存1kB来计算,这里也不超过2GB而已。求继续拍醒.......= =
    qdvictory
        13
    qdvictory  
       2014-03-28 10:56:12 +08:00   ❤️ 2
    @mywaiting v2ex的数据不算多,我们公司的数据库有14g,但是时常访问的数据最多也就1g,这些热数据完全可以用redis顶下来,但是不排除访问冷数据。
    如果全用redis的话这个性价比是不可接受的。所以我的做法一直是用mysql保存所有的数据,同时redis实时对热数据进行缓存。就像mysql是一个资料库,所有的资料都可以在mysql找到,而redis像是一个前台,可以很快速的查到想要的数据,如果找不到,就去资料库现提。
    目前redis占用不到1G的内存。
    qdvictory
        14
    qdvictory  
       2014-03-28 11:00:57 +08:00
    @mywaiting 继续上一条,mysql会定时做备份,就算redis挂掉也没有关系,可以再从mysql取。这样又减低了一点运维的风险。同时有些功能redis可以完成的,那就用redis做,比如排名,时间线之类。
    而有的时候redis确实也没有mysql灵活,业务需求不可能一直局限于技术能力,这时redis就单纯做缓存就好。
    总而言之,言而总之,做服务器的千万别在一楼树上吊死,一定要给自己留一条后路,降低任何风险造成的损失。
    mywaiting
        15
    mywaiting  
    OP
       2014-03-28 11:18:05 +08:00
    @qdvictory 亲的话,不能认同更多!
    Numbcoder
        16
    Numbcoder  
       2014-03-28 13:04:23 +08:00
    @mywaiting 这个当然是要看你什么项目了,如果数据量是可预估的,那用 redis 是没啥问题的。
    V2EX 才多少数据啊,每天发帖,评论就那么点。其余都是读的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2812 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:54 · PVG 19:54 · LAX 03:54 · JFK 06:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.