缓存雪崩:
大量缓存数据同时间失效,导致用户直接发起大量请求到数据库,产生瓶颈。
1、生成随机失效的缓存时间数据;
2、生成不失效的缓存数据;
3、定时任务更新缓存数据;
缓存穿透用户请求数据,
例如ID为负数,不存在缓存里,也不存在数据库里,会造成缓存穿透。
1、无意义数据放入缓存,下一次相同请求就会命中缓存;
2、IP过滤;
3、参数校验;
缓存失效
由于缓存热点键到时失效导致用户请求直接访问数据库
1、用久缓存;
2、分布式锁
a.单体应用—>互斥锁。
参考文章:
- 缓存穿透、缓存击穿、缓存雪崩区别和解决方案:https://blog.csdn.net/kongtiao5/article/details/82771694
- 面试官:说一下缓存雪崩,缓存穿透,缓存击穿出现的原因及解决方案:点击跳转链接