Redis常见问题:1.缓存穿透2.缓存击穿

一、缓存穿透(数据查询不到—>假数据、set集合放ID布隆过滤器过滤)

在这里插入图片描述

1.解决方案(防止mysql宕机)

在Redis中放入
1.假数据
2.set集合,里面放入所有mysql中的id,再通过布隆过滤器过滤,没有这个id的请求就不在mysql中找了

二、缓存击穿(热点数据到期—>访问一次加一次访问时间、加锁)

在这里插入图片描述

1.解决方案

1.从Redis处理:一个请求,给这个热点数据加一点时间(避免热点数据过期)
2.分布式锁:Tomcat集群synchronized-Tomcat分布式锁-Redis(避免大量数据访问数据库)

三、缓存雪崩:MySql宕机

大量Redis中的缓存同时到期了,导致大量的请求透视访问数据库,导致数据库宕机

1.解决方案

同时到期原因:缓存预热,设置时间一样

1.在缓存预热时,设置不一样的生存时间
2.加锁
3.边访问边加生存时间

四、缓存倾斜:Redis宕机

在这里插入图片描述

1.解决方案

1.花钱:在请求多的节点,搭建主从
2.将数据放在JVM中缓存中

五、双写一致性问题

在这里插入图片描述

1.解决方案

1.双删:先删除Redis缓存,再删Redis缓存

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值