Redis 热键问题,缓存击穿,缓存穿透,缓存雪崩
1.热键问题:描述:热键被大量客户端访问,导致大量网络流量集中在一台Redis服务器上,服务器宕机。
解决方法:将热键分散到不同的redis服务器上
2.缓存击穿:描述:热键被大量客户端访问,热键如果过期,可能导致大量网络流量打到 DB 服务器上,导致数据库服务器宕机
解决方法:对于热键,访问之前如果不存在的话使用分布式锁(应用线程访问不到,一般返回false,就让应用线程自己执行等待逻辑)
异步刷新这个键的过期时间,延迟
在DB服务器和 redis服务器间多设置一层缓存
3.缓存穿透:描述:一个键根本就不存在,但是还是被大量的访问,轻则增大数据库的压力,重则数据库宕机
解决方法:布隆过滤器,过滤掉不存在的key请求
4.缓存雪崩:大量的热键过期,或者redis数据库宕机,导致大量网络流量打到 DB 上,DB宕机
解决方法:多设一层缓存
避免大量热键同时过期
当redis宕机的时候,要给网络限流