缓存异常:缓存击穿、缓存穿透、缓存雪崩 及其解决方案

一、缓存穿透

什么是缓存穿透?

如何解决缓存穿透?

解决方案一:缓存空数据
解决方案二:布隆过滤器

误判率

**具体代码实现:**设置误判率 0.05

总结

面试回答

二、缓存击穿

什么是缓存击穿?

当某一个热点ksy过期,当某一时间段大量并发请求过来,可能会把DB压垮

如何解决缓存击穿?

方案一:互斥锁(分布式锁)
  • 优点:强一致
  • 缺点:性能差
  • 使用场景:金融行业,需要安全保险
方案二:逻辑过期
  • 优点:
    • 高可用(别管结果可不可用,先返回结果再说)
    • 性能优
  • 使用场景:互联网行业,强调用户体验感

总结

面试回答

三、缓存雪崩

什么是缓存雪崩?

大量的key同时过期,或者 Redis服务宕机


怎么解决缓存雪崩?

  • 不同的Ksy的TTL添加随机值
  • 哨兵集群
  • 多级缓存
  • ++限流++作为保底解决

总结

面试回答

相关推荐
Chan167 分钟前
【 微服务SpringCloud | 方案设计 】
java·spring boot·微服务·云原生·架构·intellij-idea
DK.千殇8 分钟前
前四天总结
数据库
Red丶哞10 分钟前
[Django Message超全总结教程](武沛齐老师)
数据库·django·sqlite
SunnyRivers16 分钟前
打包 Python 项目
python·打包
浪扼飞舟17 分钟前
C#(多线程和同步异步)
java·开发语言
万行17 分钟前
机器人系统SLAM讲解
开发语言·python·决策树·机器学习·机器人
我的xiaodoujiao17 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 40--完善优化 Allure 测试报告显示内容
python·学习·测试工具·pytest
WinstonJQ18 分钟前
AirSim无人机仿真入门(一):实现无人机的起飞与降落
python·机器人·游戏引擎·ue4·无人机
tjjucheng20 分钟前
专业做小程序定制开发的厂家
python
hanqunfeng23 分钟前
(三十三)Redisson 实战
java·spring boot·后端