缓存数据不一致和并发竞争怎么处理?
24-05-24 11:05
1276
0
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果缓存有多个副本,多个缓存副本里的数据也可能会发生不一致现象。
原因分析
不一致的问题大多跟缓存更新异常有关。比如更新 DB 后,写缓存失败,从而导致缓存中存的是老数据。另外,如果系统采用一致性 Hash 分布,同时采用 rehash 自动漂移策略,在节点多次上下线之后,也会产生脏数据。缓存有多个副本时,更新某个副本失败,也会导致这个副本的数据是老数据。
业务场景
导致数据不一致的场景也不少。如下图所示,在缓存机器的带宽被打满,或者机房网络出现波动时,缓存更新失败,新数据没有写入缓存,就会导致缓存和 DB 的数据不一致。缓存 rehash 时,某个缓存机器反复异常,多次上下线,更新请求多次 rehash。这样,一份数据存在多个节点,且每次 rehash 只更新某个节点,导致一些缓存节点产生脏数据。
-
普通话有声教程软件带MP3
普通话有声教程软件带MP3.exe 1043 0 24-08-20 -
文字跟随鼠标点击弹出
398 0 21-06-01 -
重构 -- 改善既有代码的设计
重构(refactoring)这个概念来自Smalltalk圈子,没多久就进入了其他语言阵营之中。由于重构是framework(架)发中不可缺少的一部分,所以当fam... 746 0 24-05-28 -
定向提升-英语阅读100题方法串讲(田静)
01.田静讲阅读-技巧专项课1.pdf02.田静讲阅读-技巧专项课2.pdf03.田静讲阅读-技巧专项课3.pdf05.田静讲阅读-技巧专项课5.pdf06.田静讲阅读-... 991 0 24-08-19 -
青柳衡山毛笔体,青柳隶书,青柳疏石体
1066 0 24-07-24 -
美国杂志300个网站分享
想学习英语的朋友可以多看看,很有用 。 1 People(人物) http://people.aol.com/people/index.html 娱乐 2 TV Guide(电... 1081 0 25-03-03 -
CR TubeGet_万能视频下载器,没有购买限制的免费版本
CR TubeGet是一款非常好用的视频下载软件。这是基于youtube-dl封装并做了一定的功能扩展,通过该程序用户可以从各大视频网站中下载视频,... 1722 0 24-06-01 -
扫码借阅系统:PHP后端
《扫码借阅系统:PHP后端与微信小程序前端的整合应用》扫码借阅系统是一种高效、便捷的图书借阅解决方案,它结合了现代技术,如PHP后端开发... 915 0 24-10-27
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~