缓存雪崩,穿透和击穿
【摘要】
一 缓存雪崩:大量key同时失效,大量请求发送到db上,导致db宕机。
解决办法:设置key过期时间时,使用随机数
setRedis(Key,value,time + Math.random() * 10000);
二 缓存穿透:大量请求请求一个缓存中没有的key,这些请求直接怼到db上,造成宕机。如发送为负数的入参时。(一般为黑...
一 缓存雪崩:大量key同时失效,大量请求发送到db上,导致db宕机。
解决办法:设置key过期时间时,使用随机数
setRedis(Key,value,time + Math.random() * 10000);
二 缓存穿透:大量请求请求一个缓存中没有的key,这些请求直接怼到db上,造成宕机。如发送为负数的入参时。(一般为黑客侵入)
解决办法:1.加入入参的验证,防止非法入参。
2.nginx加入拦截,防止同一个ip大量的请求。
3.使用布隆过滤器判断数据库是否存在,不存在直接返回。
三 缓存击穿:热点key突然失效,大量的请求怼到db,db宕机。
解决办法:1:设置热点缓存不过期
2:加入互斥锁
文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。
原文链接:baocl.blog.csdn.net/article/details/103079160
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)