##缓存击穿:
大量查询某个key,正好这个key不在缓存里,造成大量数据库查询
- 同一个key的数据库查询加锁。
- 优化程序让同一个key的查询落在同一个线程上,这样就可以不加锁来查询
##缓存穿透:
恶意查询不存在的key导致数据库频繁查询。
- 查询校验
- 设置key,null解决
- 布隆过滤器过滤不存在的值
##缓存雪崩:
一群key相同时间点失效过期,大量查询过来造成数据库压力陡增甚至宕机
- 合理设置失效时间,甚至不失效
- 限制单次失效的数量
##缓存击穿:
大量查询某个key,正好这个key不在缓存里,造成大量数据库查询
- 同一个key的数据库查询加锁。
- 优化程序让同一个key的查询落在同一个线程上,这样就可以不加锁来查询
##缓存穿透:
恶意查询不存在的key导致数据库频繁查询。
- 查询校验
- 设置key,null解决
- 布隆过滤器过滤不存在的值
##缓存雪崩:
一群key相同时间点失效过期,大量查询过来造成数据库压力陡增甚至宕机
- 合理设置失效时间,甚至不失效
- 限制单次失效的数量
本文标题:缓存故障三类
本文链接:https://www.haomeiwen.com/subject/dbfdvktx.html
网友评论