缓存相关问题
1、什么是缓存穿透,缓存穿透带来的问题,如何让解决缓存穿透?
如我的key是数字(123),但是网络攻击者频繁的用媳妇穿(abc)去换取缓存。导致永远无法命中缓存,直接去查取数据库。而缓存的意义就是
减少数据库压力
。===>解决:
布隆过滤器,布隆过滤器是redis提供的一种数据结构。他可能在海量数据中(上千万)来判断当前值存不存在。
布隆过滤器准确率不是百分之百(98%左右)。
2、什么是缓存击穿,缓存击穿带来的问题,如何解决缓存击穿?
缓存击穿:热点数据过期。比如说我的官网数据是热点数据,在并发非常高的时候,比如说高考报名的时候,这个是官网数据过期了。
===> 解决:
1、一些非常高频的热点数据,不设置过期时间;
2、并开启定时任务:定时查看缓存有没有被删除(误删),如果缓存不存在了,则更新缓存。
不设置过期时间只能保证redis不会删,但是不能保证其他服务有没有可能删。
3、缓存雪崩,缓存雪崩带来的问题,如何解决?
缓存雪崩:大批量的key在同一时间失效,导致所有的请求都打到了数据库。
===>解决:
key的过期时间做合理规划,对于高频数据,不设置过期时间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~