Redis缓存雪崩 缓存穿透 缓存击穿

2022/2/25 19:25:02

本文主要是介绍Redis缓存雪崩 缓存穿透 缓存击穿,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

缓存雪崩

当我们用户查询数据去redis查询没有时,就会去数据库中查找,但是数据库中也没有,缓存就没有命中。这时候当用户很多的时候,都发生了这种情况,就会导致数据库压力很大,就导致了缓存穿透。

 

解决办法:1.布隆过滤器,对用户所传过来的参数在控制层先进行校验,不符合则丢弃。

       2.缓存空对象,对于空的对象会给它在redis也建立个空值的缓存(不推荐)。


缓存穿透

就好比微博热搜,大规模大并发的集中对一个点进行查询,就有可能导致缓存击穿,直接访问数据库。

 

解决办法:1.设置热点数据永不过期。

      2.加互斥锁,也叫分布式锁。


缓存击穿 

其实就是好比双十二节日,某波商品被集中放入了缓存,假设这批缓存过期时间为一小时,当一小时过后,这批缓存就会集体失效,而当缓存失效后,就会有大批查询数据直击数据库,就可能会导致缓存雪崩,数据库直接崩溃。

 

解决办法:1.redis挂掉不可怕,可怕的是数据库,所以多建立几个redis节点。

      2.限流降级。

      3.数据预热。



这篇关于Redis缓存雪崩 缓存穿透 缓存击穿的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程