Redis缓存雪崩
数据库内大量热点key失效(指定时间同时失效)
访问量增大导致mysql负载过大,宕机了
发生缓存雪崩
场景:京东官网内容,整体图片更换时,需要将Redis内缓存的旧内容清理掉,设置相同时间清理,而就在清理的时候,京东官网有秒杀活动,大量请求,由于Redis内没有缓存需要到MySQL中查找,大量请求MySQL,导致MySQL宕机,称之为缓存雪崩
解决方案:不同时设计Redis缓存内容过期,伪代码setPassTime(key,value,time)
在时间后面加一个随机数setPassTime(key,value,time+random.nextInt(47))
然后就在同一时间缓存失效较少(就算查询数据库数据库访问压力也不会过大),由此可以防止缓存雪崩