缓存和数据库双写为什么容易不一致
更新数据库后再更新缓存,或者先删缓存再更新数据库,都可能在并发下出现短暂不一致。缓存策略要围绕业务容忍度设计。
常见做法是更新数据库后删除缓存,让下一次读取回源重建。对于高并发热点,可以配合延迟双删或消息异步清理。
不要把缓存当成事实来源。事实来源应该是数据库,缓存只是加速读取。
tx.Commit()
cache.Del(ctx, key)如果业务不能容忍任何短暂不一致,就不要依赖普通缓存方案,需要考虑事务消息、读写串行化或更强的一致性设计。
版权申明
本文系作者 @blogger 原创发布在缓存和数据库双写为什么容易不一致。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论