redis故障时的一些概念

Posted 徐大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis故障时的一些概念相关的知识,希望对你有一定的参考价值。

1.缓存穿透

概念
访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。

解决方案
采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤;
访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。

2.缓存雪崩

概念
大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。

解决方案
可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效。

3.缓存击穿

概念
一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大、压力骤增。
解决方案
在访问key之前,采用SETNX(set if not exists)来设置另一个短期key来锁住当前key的访问,访问结束再删除该短期key。

以上是关于redis故障时的一些概念的主要内容,如果未能解决你的问题,请参考以下文章

系统学习redis之一——基础概念

redis集群概念

VBA 一些概念与细节

Redis Cluster集群工作原理+集群操作实战+数据故障切换 #yyds干货盘点#

redis分布式锁-基本概念与实现方式对比

关于静态布局自适应布局流式布局响应式布局弹性布局的一些概念