在聊数据库与缓存一致性问题之前,先聊聊数据库主库与从库的一致性问题。
问:常见的数据库集群架构如何?
答:一主多从,主从同步,读写分离。

如上图:
(1)一个主库提供写服务
(2)多个从库提供读服务,可以增加从库提升读性能
(3)主从之间同步数据
画外音:任何方案不要忘了本心,加从库的本心,是提升读性能。
问:为什么会出现不一致?
答:主从同步有时延,这个时延期间读从库,可能读到不一致的数据。

如上图:
(1)服务发起了一个写请求
(2)服务又发起了一个读请求,此时同步未完成,读到一个不一致的脏数据
(3)数据库主从同步最后才完成
画外音:任何数据冗余,必将引发一致性问题。
问:如何避免这种主从延时导致的不一致?
答:常见的方法有这么几种。
方案一:忽略
任何脱离业务的架构设计都是耍流氓,绝大部分业务,例如:百度搜索,淘宝订单,QQ消息,58帖子都允许短时间不一致。
继续阅读与本文标签相同的文章
上一篇 :
缓存,究竟是淘汰,还是修改?
下一篇 :
究竟先操作缓存,还是数据库?
-
InnoDB行锁,如何锁住一条不存在的记录?
2026-05-21栏目: 教程
-
缓存与数据库不一致,咋办?
2026-05-21栏目: 教程
-
Cache Aside Pattern
2026-05-21栏目: 教程
-
究竟先操作缓存,还是数据库?
2026-05-21栏目: 教程
-
数据库主从不一致,怎么解?
2026-05-21栏目: 教程
