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

一、缓存穿透(防止mysql宕机)

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

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

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

二、缓存击穿

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

1.解决方案

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

三、缓存雪崩:MySql宕机

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

1.解决方案

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

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

四、缓存倾斜:Redis宕机

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

1.解决方案

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

五、双写一致性问题

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

1.解决方案

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

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