Redis缓存雪崩,穿透

Redis缓存雪崩,穿透

1.Redis缓存穿透

(1)现象
在用户请求过程中,假设被请求的数据不在Redis缓存中,此时请求会直接落到数据库,当当大量这种请求发生时,就会导致数据库崩溃。这种现象被称为Redis缓存穿透
(2)解决
a.如果被请求的数据不在Redis缓存中,但在数据库中能查询到相应的数据,那么在请求数据库后,将被请求的数据放入到Redis缓存。
b.如果被请求的数据不在Redis缓存中,并且在数据库中也不能查询到数据,那么在请求数据库后,需要设置一个空值到Redis缓存,这时也需要对这个key设置过期时间,避免过多的空值一直存在于缓存中。
(3)布隆过滤器
a.图解
在这里插入图片描述
b.说明
key被hash后, 会映射到这个二进制数组中,并且对应的数组位会变为1,查询时,就会迅速判断到该key是否存在。
c.优劣势
优点:采用二进制数组,内存占用小;检测速度快,返回结果及时。
缺点:存在误判;不能删除;

2.Redis缓存雪崩
(1)现象
大量的key在同一时间失效,并且此时有大量的请求到达服务器,此时这些请求就会直接访问到数据库,导致数据库宕机。
(2)预防
a.永不过期
b.过期时间错开
c.多缓存结合
d.使用第三方redis,第三方redis也是可以从源头上预防雪崩的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值