Redis - 缓存和数据库一致性问题

三种策略

Cache Aside

只读缓存模式,即读操作命中缓存直接返回,未命中从后端数据库加载到缓存再返回。写操作直接更新数据库,并删除缓存。
👍一切以后端数据库为准,最常用的方式。

Read/Write Through

应用层读写只操作缓存,不关心数据库。操作缓存时,缓存层会自动从数据库加载或写回到数据库。
👍对于应用层比较友好
👎缓存层需要支持和后端数据库的联动

Write Back

写操作,只写缓存。读操作如果缓存命中则直接返回,否则就从数据库加载到缓存,在加载之前如果缓存已满,要把需要被淘汰的缓存数据写回到数据库,在把读的数据加载到缓存。
👍 写操作性能很好
👎 可能导致缓存数据库的不一致

异常处理

操作缓存或者操作数据库时发生异常,如果需要严格保证缓存数据库的一致性,需要使用分布式事务的解决方案,如2PC, 3PC, TCC, 消息队列等。

posted @   rachel_aoao  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示