Java面试题 P16:Redis篇:Redis使用场景-缓存-缓存穿透
缓存涉及问题:
1、缓存三兄弟:穿透 击穿 雪崩
2、双写一致
3、持久化
4、数据过期策略
5、数据淘汰策略
如果发生了缓存穿透,击穿,雪崩,该如何解决?
1、缓存穿透
什么是缓存穿透,当查询一个不存在的数据,查redis中没有,mysql查询也没有,数据也不会直接写入到redis,就导致每次都要请求数据库,遇到被恶意攻击时访问量增大,会有大量这样不存在的请求访问数据库导致数据库宕机。
(1)方案一:缓存空数据,查询返回的数据为空时,仍把这个空结果进行缓存,例如key:1,value:null
(2)方案二:布隆过滤器,请求redis前增加布隆过滤器
分类:
Java / Java面试题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理