1.缓存穿透:
原因:大量请求redis中不存在的key,请求直接到了数据库,
解决办法:缓存null值或使用布隆过滤器
2.缓存击穿:
原因:热点key过期刚好有大量并发,导致这部分请求到了数据库上
解决办法:在缓存重建时加锁保证强一致或使用逻辑过期,容忍读到部分脏数据
3.缓存雪崩:
原因1:大量key同时过期,导致请求到了数据库解决办法:可增加随机过期时间
原因2:redis挂了,搭建哨兵或集群提高可用性
网关或nginx限流为保底措施
原因:大量请求redis中不存在的key,请求直接到了数据库,
解决办法:缓存null值或使用布隆过滤器
原因:热点key过期刚好有大量并发,导致这部分请求到了数据库上
解决办法:在缓存重建时加锁保证强一致或使用逻辑过期,容忍读到部分脏数据
原因1:大量key同时过期,导致请求到了数据库解决办法:可增加随机过期时间
原因2:redis挂了,搭建哨兵或集群提高可用性
网关或nginx限流为保底措施