为什么采用 redis,而不用 memcache - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tanteng
V2EX    PHP

为什么采用 redis,而不用 memcache

  •  
  •   tanteng Mar 18, 2015 6106 views
    This topic created in 4057 days ago, the information mentioned may be changed or developed.

    我们公司项目缓存用redis,redis支持更多的数据类型,memcache仅支持key/value键值对,除此之外还有什么原因呢?

    7 replies    2015-03-19 09:35:50 +08:00
    geeklian
        1
    geeklian  
       Mar 18, 2015
    redis可以持久化,类型更多。
    性能上,虽然memcache支持多核,但系统的瓶颈一般不在缓存上。

    所以基本上redis可以取代memcache。
    kankana
        2
    kankana  
       Mar 18, 2015
    let me google for you?
    RemRain
        4
    RemRain  
       Mar 19, 2015
    Memcache 通常指的是 Memcached 吧, Memcached 能做的,Redis 基本都能做,只当 K/V 存储的话,Redis 的性能与 Memcached 相差并不大。

    但抛开性能不说,与 Redis 相比,Memcached 有几个很明显的缺陷:
    1. key、value 大小有限制,尤其是 key,印象中只能存几百字节,对于比较长的 key,只能哈希后再存,这一点很不爽。
    2. key难以遍历,导致管理起来很麻烦,运维、数据迁移等都是头疼事。
    3. 不稳定,不论是生成环境还是测试环境,我都遇到过 Memcached 跑一半挂掉的情况,具体原因没有深查,但 Redis 用这么久,从来没见其挂过。
    4. 不支持批量操作,有的 lib 提供批量操作,其实是把命令拼一起发过去了,实际还是一条条的操作,比较坑爹。(新版貌似支持批量操作了?)
    5. key 过期后,不会自动删除,除非主动访问这个 key,或者空间快满了开始清理。实际使用中,偶尔会出现某个高频读写的 key 过期时间自动变成永不过期,不按预设的过期时间来,怀疑是 bug。
    xiaogui
        5
    xiaogui  
       Mar 19, 2015
    支持更多的数据类型,这点就够爽的了
    vietor
        6
    vietor  
       Mar 19, 2015 via Android
    没别的原因:memcache过时了
    alangz
        7
    alangz  
       Mar 19, 2015
    About     Help     Advertise     Blog     API     FAQ     Solana     1037 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 23:09 PVG 07:09 LAX 16:09 JFK 19:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86