首页 > 文档
缓存数据不一致和并发竞争怎么处理?
- 2024-05-24
- 1469 ℃
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果缓存有多个副本,多个缓存副本里的数据也可能会发生不一致现象。
原因分析
不一致的问题大多跟缓存更新异常有关。比如更新 DB 后,写缓存失败,从而导致缓存中存的是老数据。另外,如果系统采用一致性 Hash 分布,同时采用 rehash 自动漂移策略,在节点多次上下线之后,也会产生脏数据。缓存有多个副本时,更新某个副本失败,也会导致这个副本的数据是老数据。
业务场景
导致数据不一致的场景也不少。如下图所示,在缓存机器的带宽被打满,或者机房网络出现波动时,缓存更新失败,新数据没有写入缓存,就会导致缓存和 DB 的数据不一致。缓存 rehash 时,某个缓存机器反复异常,多次上下线,更新请求多次 rehash。这样,一份数据存在多个节点,且每次 rehash 只更新某个节点,导致一些缓存节点产生脏数据。
相关内容
Python核心编程
Swift开发指南
深入理解异步编程的核心 Promie
Linux初步学习
生产成品管理,检验管理...
微信公众平台服务号开发...
【2024考研英语】田静vip...
人事管理表格 - 企业管理表格
-
C++黑客编程揭秘与防范
2024-05-24 1324
-
为何MC能长期维持高性能读写
2024-05-24 1020
-
考研数学电子资料
2024-08-19 1132
-
Java TCP/IP Socket编程
2024-05-24 1313
-
2012年六月份教师招聘资料合集
2024-08-20 1063
-
Maven实战
2024-05-24 1237
-
软件故事:谁发明了那些经典的编程语言
2024-05-28 926
-
微服务架构(Micro Service)在Cloud Foundry中的应用
2024-05-28 1050
-
考研英语精典强化阶段
2024-08-19 1022
-
英二阅读真题精讲_陈志超
2024-08-20 955
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


下载完整资料
点击分享文章