首页 > 文档
缓存数据不一致和并发竞争怎么处理?
- 2024-05-24
- 1557 ℃
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果缓存有多个副本,多个缓存副本里的数据也可能会发生不一致现象。
原因分析
不一致的问题大多跟缓存更新异常有关。比如更新 DB 后,写缓存失败,从而导致缓存中存的是老数据。另外,如果系统采用一致性 Hash 分布,同时采用 rehash 自动漂移策略,在节点多次上下线之后,也会产生脏数据。缓存有多个副本时,更新某个副本失败,也会导致这个副本的数据是老数据。
业务场景
导致数据不一致的场景也不少。如下图所示,在缓存机器的带宽被打满,或者机房网络出现波动时,缓存更新失败,新数据没有写入缓存,就会导致缓存和 DB 的数据不一致。缓存 rehash 时,某个缓存机器反复异常,多次上下线,更新请求多次 rehash。这样,一份数据存在多个节点,且每次 rehash 只更新某个节点,导致一些缓存节点产生脏数据。
相关内容
-
带你手写 JS 数组多个方法的底层实现
2024-05-24 1432
-
深入理解Android 卷I
2024-05-28 1183
-
考研英语历年真题
2024-08-19 1442
-
工作量分析表 - 企业管理表格
2024-07-30 1324
-
应用程序性能测试的艺术
2024-05-24 1172
-
Linux 命令完全手册
2024-05-24 1393
-
2012教师招聘资料合集
2024-08-20 1210
-
中医病历书写基本规范
2025-05-20 1284
-
如何为社交feed场景设计缓存体系
2024-05-24 1276
-
微服务架构(Micro Service)在Cloud Foundry中的应用
2024-05-28 1133
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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