JJava 知识库
JAVA INTERVIEW

高频面试题

Redis进阶约 3 分钟

更新数据库和缓存时,如何尽量保证数据一致性?为什么通常选择先更新数据库再删除缓存?

参考回答约 3 分钟 · 口语表达
先说结论

我会以数据库为权威源,采用提交数据库后删除缓存,并通过 outbox 或 binlog 可靠重试删除,配合版本、TTL 和回源保护控制不一致窗口。

01

我会以数据库为权威源,采用提交数据库后删除缓存,并通过 outbox 或 binlog 可靠重试删除,配合版本、TTL 和回源保护控制不一致窗口。

一致性主链路从目标到落地
01提交数据库事务
02记录变更事件
03幂等删除缓存
04读取数据库回填
05监控延迟与补偿