Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

缓存和数据库怎样保持一致?

查看完整题解

参考回答

直接回答

常用缓存旁路。读缺失再查库并填缓存,写先提交数据库再让缓存失效。根据业务能容忍的旧值时间,配合可靠事件、重试、TTL 或版本控制。

讲清原理

并发读可能先查到旧值,等写方提交并删缓存后才回填旧值。删除重试解决失效失败,版本校验应对乱序回填。

并发读可能在缓存失效之后回填旧版本
并发读可能在缓存失效之后回填旧版本

例子与易错点

账户余额等必须最新的读走权威数据路径。商品描述允许短时旧值时,可用短 TTL 与可靠失效组合。

相关题 · 第 70 题、第 62 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。