如何保证缓存一致性?

2018-09-07 09:52:33 +08:00
 KeatingSmith

1、

      client
     /      \
    /        \
   /          \
  db           cache

2、

      client
         |
         |
         |
         ˇ
       redis
         |
         |
         |
         ˇ
         db
1960 次点击
所在节点    问与答
9 条回复
tt67wq
2018-09-07 10:07:43 +08:00
这俩图你是要说啥
Aliencn
2018-09-07 10:13:16 +08:00
入库的时候写两遍
flight2006
2018-09-07 10:43:21 +08:00
一般用第一种,第二种的某种同步方式需要维护类似同步定时任务,而且还强依赖了缓存,缓存挂了你系统就不可用了,第一种缓存挂了 DB 还能备用
blackjar
2018-09-07 10:49:13 +08:00
@flight2006 #3 db 备用 缓存不能有备用?用第一种缓存用不用备用? 不用备用 缓存挂了 直接压死 db ?
hcymk2
2018-09-07 11:11:24 +08:00
flight2006
2018-09-07 13:43:07 +08:00
@blackjar 杠精吧你
blackjar
2018-09-07 13:47:49 +08:00
@flight2006 #6 半瓶子混子 到处教人 被反驳一律先戴上杠精帽子 哈哈
flight2006
2018-09-07 13:55:02 +08:00
@blackjar 降级懂不懂,你缓存备用是运维层面的备份,恢复需要时间;大部分公司业务场景都还没到直接到 DB 都压垮的程度
sun019
2018-09-07 15:03:53 +08:00
需要定期更新缓存,读文章或者实时数据要求不高的可以用第一种。
对数据读写实时要求高,抢购秒杀购买,建议用第二种。
当然各有优缺点

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

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

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

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

© 2021 V2EX