Skip to content

如何保证缓存与数据库的双写一致性? ​

题目 ​

如何保证缓存和数据库的双写一致性?

参考答案 ​

最常见做法是:

  1. 先更新数据库
  2. 再删除缓存

如果删缓存失败,再通过重试、消息补偿、binlog 订阅等机制兜底。工程里更多追求最终一致性,而不是绝对强一致。

回答展开 ​

  • 缓存题建议按原理、风险、治理方案三个层次展开。
  • 如果涉及集群或高可用,要明确 Redis 更偏最终一致而不是强一致。
  • 如果涉及缓存问题,最好把穿透、击穿、雪崩的成因和治理手段区分开。

实际场景 ​

比如商品详情缓存、用户会话缓存、配置缓存是 Redis 的典型使用场景;一旦出现缓存失效、热点集中或删除失败,就需要完整的治理策略。

努力工作 享受生活