关于网络故障删除失败,以及缓存击穿

来源:3-23 缓存数据双写一致

weixin_慕圣9341239

2021-01-18

老师好,想问一下,在30秒左右您提到了对于网络出现故障,更新的时候删除redis数据失败的解决方式是在更新数据库之前删除redis缓存。那如果提前删除的时候,也出现了网络故障,那redis中依然保存着旧数据,不是还是一样没有保持一致性么?那请问这种如果因为网络故障导致的问题有什么解决方式么?

还有最后讲到了缓存击穿,我感觉如果使用双删的话,缓存里就一定会出现短暂的没有热点数据的情况,这时如果大量用户并发访问该数据,就也可能会导致缓存击穿数据库崩溃。您这里是说我们可以短暂的牺牲一致性防止缓存被击穿,在我们课程的双删策略中,是怎么做到的呢?这里有点没有理解,希望您能够再解释一下呢?

谢谢!

写回答

1回答

风间影月

2021-01-18

目前课程里就是双删呀。网络抖动因素几乎不用考虑。99.9999%都是没问题的。
至于击穿,在极度的并发情况下有可能会出现。最好的方式就是通过监听数据库日志,来修改redis的数据。不用双删。
有兴趣可以去看看canal中间件。

0
1
weixin_慕圣9341239
非常感谢!
2021-01-18
共1条回复

Spring Cloud 进阶 Alibaba 微服务体系自媒体实战

一课收获分布式系统开发,微服务核心技术和中间件企业生产落地

1113 学习 · 896 问题

查看课程