缓存雪崩、缓存穿透和缓存击穿

个人原创:我的博客文章链接

一、缓存雪崩

什么是缓存雪崩呢?

缓存雪崩,是指同一时间段大量的缓存key同时到期(失效)或者Redis服务宕机,导致大量的请求(如果是大型电商平台如某宝、某东,甚至可以说是海量请求)瞬间到达数据库,这会给数据库带来巨大的压力。

下图是正常情况下,请求访问到Redis缓存,Redis收到请求并响应数据给客户端,只有部分在Redis中未做缓存的会到达数据库。

缓存雪崩、缓存穿透和缓存击穿_第1张图片

如果大量的缓存key过期,导致请求未命中Redis,大量的请求就会到达数据库,导致数据库压力剧增。

缓存雪崩、缓存穿透和缓存击穿_第2张图片

另外一种情况就更糟糕了,Redis宕机了。缓存key过期还只是部分请求,而不是全部的请求到达数据库,而Redis宕机的话,那就是所有的请求瞬间到达数据库。

缓存雪崩、缓存穿透和缓存击穿_第3张图片

解决方案:

针对以上两种情况,我们也有相对应的解决方案。

你可能感兴趣的:(Redis,缓存,redis,数据库)