首页 > 其他 > 详细

Redis学习(二):双写问题

时间:2021-08-24 22:59:23      阅读:19      评论:0      收藏:0      [点我收藏+]

Redis的双写问题

双写的情况下,是先操作数据库还是先操作缓存呢?

在Cache-Aside缓存模式中,有些小伙伴会有疑问,在写入请求的时候,为什么是先操作数据库呢?为什么不先操作缓存呢?

假设有A、B两个请求,请求A做更新操作,请求B做查询读操作。

技术分享图片

 

 A、B两个流程如下:

  1. 线程A发起一个写操作,第一步del cache
  2. 此时线程B发起一个读操作,cache miss
  3. 线程B继续读DB,读出来一个老数据
  4. 然后线程B把老数据设置入缓存
  5. 线程A写入DB最新的数据

这种情况,就出现数据不一致的问题了。因此,Cache-Aside缓存模式,选择了先操作数据库而不是先操作缓存。

 

Redis学习(二):双写问题

原文:https://www.cnblogs.com/yssd/p/15182465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!