本文主要讨论这么几个问题:
(1)啥时候数据库和缓存中的数据会不一致
(2)不一致优化思路
(3)如何保证数据库与缓存的一致性
一、需求缘起
上一篇《缓存架构设计细节二三事》(点击查看)引起了广泛的讨论,其中有一个结论:当数据发生变化时,“先淘汰缓存,再修改数据库”这个点是大家讨论的最多的。
上篇文章得出这个结论的依据是,由于操作缓存与操作数据库不是原子的,非常有可能出现执行失败。

假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致【如上图:db中是新数据,cache中是旧数据】。

假设先淘汰缓存,再写数据库:第一步淘汰缓存成功,第二步写数据库失败,则只会引发一次Cache miss【如上图:cache中无数据,db中是旧数据】。
结论:先淘汰缓存,再写数据库。
引发大家热
继续阅读与本文标签相同的文章
上一篇 :
缓存架构设计细节二三事
下一篇 :
主从DB与cache一致性
-
必应SEO:从Bing获得更多本地流量的8个技巧
2026-05-20栏目: 教程
-
58到家通用实时消息平台架构细节(Qcon2016)
2026-05-20栏目: 教程
-
秒杀系统架构优化思路
2026-05-20栏目: 教程
-
线程数究竟设多少合理
2026-05-20栏目: 教程
-
主从DB与cache一致性
2026-05-20栏目: 教程
