总结来源:视频讲解
**缓存雪崩:**大量缓存数据同时间失效,导致用户直接发起大量请求到数据库,产生瓶颈。
解决方法:
1、生成随机失效的缓存时间数据;
2、让缓存节点分布在不同的物理节点上;
3、生成不失效的缓存数据;
4、定时任务更新缓存数据;
**缓存穿透:**用户请求数据,例如ID为负数,不存在缓存里,也不存在数据库里,会造成缓存穿透。
解决方法:
1、无意义数据放入缓存,下一次相同请求就会命中缓存;
2、IP过滤;
3、参数校验;
4、布隆过滤器;
**缓存击穿:**由于缓存热点键到时失效导致用户请求直接访问数据库。
解决方法:
1、永久缓存;
2、分布式锁
a.单体应用—>互斥锁—>zookeeper ,redis实现。