首页 > 文档
缓存数据不一致和并发竞争怎么处理?
- 2024-05-24
- 1598 ℃
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果缓存有多个副本,多个缓存副本里的数据也可能会发生不一致现象。
原因分析
不一致的问题大多跟缓存更新异常有关。比如更新 DB 后,写缓存失败,从而导致缓存中存的是老数据。另外,如果系统采用一致性 Hash 分布,同时采用 rehash 自动漂移策略,在节点多次上下线之后,也会产生脏数据。缓存有多个副本时,更新某个副本失败,也会导致这个副本的数据是老数据。
业务场景
导致数据不一致的场景也不少。如下图所示,在缓存机器的带宽被打满,或者机房网络出现波动时,缓存更新失败,新数据没有写入缓存,就会导致缓存和 DB 的数据不一致。缓存 rehash 时,某个缓存机器反复异常,多次上下线,更新请求多次 rehash。这样,一份数据存在多个节点,且每次 rehash 只更新某个节点,导致一些缓存节点产生脏数据。
相关内容
Linux内核精髓 ——精...
JAVA 核心技术:基础知识
历年考研数学二真题
Python3.6.4网络爬虫实战第2版
中学教师资格证考试各学...
EJB (Enterprise Java...
初高中教师资格证面试通...
深入理解、应用及扩展 Twemproxy
-
php5.3使用手册,PHP5.3开发
2024-05-24 560
-
初高中文言文译注与赏析
2024-07-13 1461
-
辞职与退休表 - 企业管理表格
2024-07-30 1700
-
加班与考勤表 - 企业管理表格
2024-07-30 1260
-
2017年厚大司法考试119必背
2024-08-19 1254
-
HTML5(W3CSchool版)使用参考手册
2024-05-24 1402
-
MC是怎么定位key的
2024-05-24 1541
-
Effective java中文版
2024-05-28 1289
-
深入理解Android ——Telephony原理剖析与最佳实践
2024-05-28 1239
-
常用的缓存组件Redi是如何运行的?
2024-05-24 1593
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


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