目前电商首页以及热点数据都会去做缓存 ,一般缓存都是定时任务去刷新,或者是查不到之后去更新的,定时任务刷新就有一个问题:缓存雪崩。
缓存雪崩是指在大QPS时,缓存刚好失效或更新,大量请求打到DB上,导致DB扛不住挂掉。
解决方案
setRedis(Key,value,time + Math.random() * 10000);
指缓存和数据库中都没有的数据,但却产生了数据库的查询。比如数据库的 id 都是1开始自增上去的,如果发起为id值为 -1 的数据或 id 为特别大不存在的数据。
解决方案
缓存击穿和缓存雪崩一样,不过前者是点,后者是面。缓存击穿是指一个Key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个Key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个完好无损的桶上凿开了一个洞。
解决方案
内容来源于网络,如有侵权,请联系作者删除!