关于网络故障删除失败,以及缓存击穿
来源:3-23 缓存数据双写一致

weixin_慕圣9341239
2021-01-18
老师好,想问一下,在30秒左右您提到了对于网络出现故障,更新的时候删除redis数据失败的解决方式是在更新数据库之前删除redis缓存。那如果提前删除的时候,也出现了网络故障,那redis中依然保存着旧数据,不是还是一样没有保持一致性么?那请问这种如果因为网络故障导致的问题有什么解决方式么?
还有最后讲到了缓存击穿,我感觉如果使用双删的话,缓存里就一定会出现短暂的没有热点数据的情况,这时如果大量用户并发访问该数据,就也可能会导致缓存击穿数据库崩溃。您这里是说我们可以短暂的牺牲一致性防止缓存被击穿,在我们课程的双删策略中,是怎么做到的呢?这里有点没有理解,希望您能够再解释一下呢?
谢谢!
写回答
1回答
-
目前课程里就是双删呀。网络抖动因素几乎不用考虑。99.9999%都是没问题的。
至于击穿,在极度的并发情况下有可能会出现。最好的方式就是通过监听数据库日志,来修改redis的数据。不用双删。
有兴趣可以去看看canal中间件。012021-01-18
相似问题