缓存数据不一致和并发竞争怎么处理?
24-05-24 11:05
1335
0
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果缓存有多个副本,多个缓存副本里的数据也可能会发生不一致现象。
原因分析
不一致的问题大多跟缓存更新异常有关。比如更新 DB 后,写缓存失败,从而导致缓存中存的是老数据。另外,如果系统采用一致性 Hash 分布,同时采用 rehash 自动漂移策略,在节点多次上下线之后,也会产生脏数据。缓存有多个副本时,更新某个副本失败,也会导致这个副本的数据是老数据。
业务场景
导致数据不一致的场景也不少。如下图所示,在缓存机器的带宽被打满,或者机房网络出现波动时,缓存更新失败,新数据没有写入缓存,就会导致缓存和 DB 的数据不一致。缓存 rehash 时,某个缓存机器反复异常,多次上下线,更新请求多次 rehash。这样,一份数据存在多个节点,且每次 rehash 只更新某个节点,导致一些缓存节点产生脏数据。
-
移动端充值HTML
384 0 21-06-02 -
Microsoft Toolkit - 微软KMS激活工具
Microsoft Toolkit激活工具(简称MTK)是一款Microsoft产品KMS激活工具,可以激活管理Window,Office的VL版产品.微软Toolkit激活器所有功能均... 799 0 25-05-17 -
OPPOsans字体
1056 0 24-07-23 -
值得推荐15个免费英文科幻小说电子书网站
我从小就喜欢看科幻小说,特别喜欢看国外的科幻小说,以前总是读翻译过的,感觉语言很生硬,并不能体现出原来作者那种灵感。现在英语水平提... 927 0 25-03-03 -
教育学2012教师招聘试题
06教育学试题fv.doc09年甘肃省教师资格考试(中学阶段)教育学试题及答案.doc2002年江苏省中学教师资格考试教育学试卷及参考答案.pdf2004年成... 1083 0 24-08-20 -
呼吸系统疾病
呼吸系统由哪些器官或组织组成?主要由鼻腔、口腔、咽、喉、气管、支气管、肺、胸膜等组成。呼吸系统疾病是什么?呼吸系统疾病泛指发生在呼... 1319 0 24-06-18 -
微信聊天截图生成器 - 微商截图侠
如果你的好友列表中有微商朋友,相信你一定经常看到他们发的对话截图、转账截图,眼见不一定为实,这些图片都可以使用营销神器制作出来。微... 1476 0 24-11-14 -
大幅成倍提升Redi处理性能
Redis 自问世以来,广受好评,应用广泛。但相比, Memcached 单实例压测 TPS 可以高达百万,线上可以稳定跑 20~40 万而言,Redis ... 892 0 24-05-24
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~