大家 缓存更新 都在用什么策略呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EDDYCJY

大家 缓存更新 都在用什么策略呢?

  •  
  •   EDDYCJY 2017 年 5 月 29 日 3887 次点击
    这是一个创建于 3249 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家有没有一些比较好的建议,最近想给公司做缓存更新,省得总是更新不及时。

    感谢!

    7 条回复    2017-05-29 18:00:32 +08:00
    lcorange
        1
    lcorange  
       2017 年 5 月 29 日
    这篇耗子的博客可以借鉴下
    http://coolshell.cn/articles/17416.html

    我用的就是 先更新数据库,再让缓存失效。下一次缓存命中失败后再更新缓存
    killerv
        2
    killerv  
       2017 年 5 月 29 日 via iPhone
    如果不要求实时生效,可以考虑缩短缓存时间,如果要做到实时生效,可以让缓存主动失效,或者直接覆盖缓存。
    EDDYCJY
        3
    EDDYCJY  
    OP
       2017 年 5 月 29 日 via iPhone
    @killerv 是的 就是想问大家,主动失效或覆盖缓存大家是怎么做的。
    我觉得把缓存删除都放在后台每次编辑的时候删除,那每个板块都要加的话,很不好。
    EDDYCJY
        4
    EDDYCJY  
    OP
       2017 年 5 月 29 日 via iPhone
    @lcorange 主要是想问问 后台数据更新后,前台的缓存什么姿势更新最好。
    lcorange
        5
    lcorange  
       2017 年 5 月 29 日   1
    @EDDYCJY
    我这里是前台直接向后台请求,不缓存数据。
    后台收到请求后,先去 redis 里查看是否有缓存,有就直接返回,没有再去数据库中查找,找到后加入 redis
    缓存更新就是在更新之后,将 redis 中的对应缓存删除,等待下次查询请求时(也就是上面所说的)再把数据加进缓存
    EDDYCJY
        6
    EDDYCJY  
    OP
       2017 年 5 月 29 日 via iPhone
    @lcorange 那我有个疑问,在后台各个板块加入各类的删除缓存键,不会导致代码耦合太高吗,或者出现过个一年,都没人记得了。
    lcorange
        7
    lcorange  
       2017 年 5 月 29 日
    @EDDYCJY 我这里用的是 spring cache 配合 redis 来管理缓存,相关功能放到统一 service 下面,各个方法前面加上 cache 的注解,结构还是蛮清晰的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5437 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 09:28 PVG 17:28 LAX 02:28 JFK 05:28
    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