缓存击穿穿透雪崩

Posted lisin-lee-cooper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存击穿穿透雪崩相关的知识,希望对你有一定的参考价值。

一.击穿

大量的请求过来,被查询的key缓存失效,导致直接查询数据库,导致数据库cpu飙升,服务器响应变慢甚至宕机。

解决方案

1 加锁更新
key失效后可以放一部分请求同步加锁更新,其他请求阻塞等待获取缓存值。

2 缓存预热
启动定时任务,去异步更新缓存值

二. 穿透

查询的数据缓存和数据库中都不存在,每次请求都会访问数据库

解决方案
1 缓存空值或默认值

2 布隆过滤器

三.雪崩

击穿的加强版,同一时间大量key同时缓存失效

解决方案

1 key值过期时间分散

2 热点数据永不过期,双写同步更新缓存

3 服务熔断降级

以上是关于缓存击穿穿透雪崩的主要内容,如果未能解决你的问题,请参考以下文章

Redis缓存穿透击穿雪崩预热更新降级

Redis缓存穿透击穿雪崩预热更新降级

Redis缓存穿透击穿雪崩预热更新降级

缓存击穿穿透雪崩

Redis——缓存穿透缓存击穿缓存雪崩

数据库面试题——redis缓存穿透缓存击穿与缓存雪崩