新闻中心

记录团队成长点滴以及对技术、理念的探索,同时我们乐于分享!

Redis缓存雪崩的原因以及解决方案

2020-09-21 09:49:27 分类:技术学堂

原因描述–缓存雪崩

在同一个时间,缓存大批量的失效,然后所有请求都打到 DB 数据库,导致 DB 数据库直接扛不住崩了。


比如,电商首页缓存,如果首页的 key 全部都在某一时刻失效,刚好在那一时刻有秒杀活动,那这样的话就所有的请求都被打到了 DB。并发大的情况下 DB 必然扛不住,没有其他降级之类的方案的话,DBA 也只能重启 DB,但是这样又会被新的流量搞挂。


解决方法–缓存雪崩

批量往 redis 存数据的时候,把每个 key 的失效时间加上个随机数,比如 1-5 分钟随机,这样的话就能保证数据不会在同一个时间大面积失效。