缓存雪崩
缓存雪崩是指大量的应用请求无法在 Redis 缓存中进行处理,紧接着,应用将大量请求发送到数据库层,导致数据库层的压力激增。
第一个原因是:缓存中有大量数据同时过期,导致大量请求无法得到处理
针对大量数据同时失效带来的缓存雪崩问题,我给你提供两种解决方案。
- 我们可以避免给大量的数据设置相同的过期时间。如果业务层的确要求有些数据同时失效,你可以在用 EXPIRE命令给每个数据设置过期时间时,给这些数据的过期时间增加一个较小的随机数。
- 除了微调过期时间,我们还可以通过服务降级,来应对缓存雪崩。
除了大量数据同时失效会导致缓存雪崩,还有一种情况也会发生缓存雪崩,那就是,Redis 缓
存实例发生故障宕机了,无法处理请求,这就会导致大量请求一下子积压到数据库层,从而发生缓存雪崩。