华企号 软件设计 缓存穿透缓存击穿缓存雪崩解决方案

缓存穿透缓存击穿缓存雪崩解决方案

缓存穿透

缓存穿透的解释是,数据既不在缓存中也不存在于数据库中,造成每次查询都会对缓存和数据库进行查询。比如:有人恶意用不存在的id参数进行接口调用,每次调用都需要穿透缓存进行数据库查询;

缓存穿透解决方案

ip限流:

参数合法性验证:

布隆过滤器(存在问题):

缓存空值;

 

缓存击穿

缓存击穿的原因是某个热点数据的缓存失效,导致大量的请求直接进行数据库查询

缓存击穿的解决方案:

热点数据访问加锁

自动续期

缓存不过期

缓存雪崩

前面已经聊过缓存击穿问题了。

而缓存雪崩是缓存击穿的升级版,缓存击穿说的是某一个热门key失效了,而缓存雪崩说的是有多个热门key同时失效。看起来,如果发生缓存雪崩,问题更严重

雪崩可能的原因:

1.缓存服务器down机

2.多个热点数据同时失效

雪崩的解决方案:

1.过期时间设置增加随机数或设置永不过期

2.缓存服务器高可用

 

以上的方案都是针对具体问题的解决方案,在实际生产中,有一些通用的解决方案

1.合理的限流策略

2.增加系统各部分的报警阈值并积极响应

3.数据合法性判断,将非法请求在最开始就拦截住

4. 合理的规划系统资源,并及时根据重大事件或者活动进行资源的拓展和响应升级;

上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部