更新数据库和缓存时,如何尽量保证数据一致性?为什么通常选择先更新数据库再删除缓存?
先说结论
我会以数据库为权威源,采用提交数据库后删除缓存,并通过 outbox 或 binlog 可靠重试删除,配合版本、TTL 和回源保护控制不一致窗口。
01
我会以数据库为权威源,采用提交数据库后删除缓存,并通过 outbox 或 binlog 可靠重试删除,配合版本、TTL 和回源保护控制不一致窗口。
01提交数据库事务
→02记录变更事件
→03幂等删除缓存
→04读取数据库回填
→05监控延迟与补偿