其他分享
首页 > 其他分享> > 缓存穿透、缓存击穿、缓存雪崩的区别

缓存穿透、缓存击穿、缓存雪崩的区别

作者:互联网

一、缓存穿透:(即:缓存无数据,数据库也无数据)

 

  如黑客恶意攻击,使用缓存和数据库均没有的key进行不断请求,导致数据库压力过大。

 

解决方法:

 

1、对用户进行鉴权、对请求参数进行校验,不合理直接过滤。

 

2、对查询不到的数据也放到缓存,value为空,设置一定的过期时间。(不太常用,因为如果是随机key就不起作用,且占缓存)

 

3、使用布隆过滤器,快速判断key是否在数据库中存在,不存在直接返回。(最有效)

 

第1种是最常用的策略,第2种不太常用,因为如果是随机key就不起作用,且占缓存,第三种最简单有效。实际使用中,可以1、3相结合。

标签:常用,缓存,不起作用,数据库,击穿,穿透,雪崩,key
来源: https://www.cnblogs.com/tongwencong/p/15596164.html