缓存穿透/击穿/雪崩的解决方案
- 缓存穿透
是什么
缓存中没有某条数据,导致大量的请求落到关系型数据库
怎么办
- 缓存中没有从关系型数据库中查,null值也要保存在缓存中,设置较短的过期时间,有值的时候更新缓存
- 使用布隆过滤器 提前过滤大量不存在的key
- 缓存击穿
是什么
缓存中某条数据过期失效,高并发落到关系型数据库
怎么办
- 热点数据永不过期
- 分布式锁互斥锁,由一条请求去请求数据库并更新缓存
- 重要接口一定要实现限流,服务熔断 快速返回
- 缓存雪崩
是什么
大量数据同时失效 导致请求落到关系型数据库
怎么办
- 设置随机的过期时间
- 热点数据永不过期

浙公网安备 33010602011771号