微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis学习二:双写问题

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缓存模式,选择了先操作数据库而不是先操作缓存。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐