Redis学习(二):双写问题

Redis的双写问题

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

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

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

Redis学习(二):双写问题

 

 A、B两个流程如下:

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

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

 

Redis学习(二):双写问题

上一篇:Module not specified-使用IDEA出现问题


下一篇:IOC 操作Bean管理(xml 注入集合属性)+(bean 作用域)