缓存相关问题

1、什么是缓存穿透,缓存穿透带来的问题,如何让解决缓存穿透?

如我的key是数字(123),但是网络攻击者频繁的用媳妇穿(abc)去换取缓存。导致永远无法命中缓存,直接去查取数据库。而缓存的意义就是减少数据库压力
===>解决:
布隆过滤器,布隆过滤器是redis提供的一种数据结构。他可能在海量数据中(上千万)来判断当前值存不存在。
布隆过滤器准确率不是百分之百(98%左右)
 

2、什么是缓存击穿,缓存击穿带来的问题,如何解决缓存击穿?

缓存击穿:热点数据过期。比如说我的官网数据是热点数据,在并发非常高的时候,比如说高考报名的时候,这个是官网数据过期了。
===> 解决:
1、一些非常高频的热点数据,不设置过期时间;
2、并开启定时任务:定时查看缓存有没有被删除(误删),如果缓存不存在了,则更新缓存。
不设置过期时间只能保证redis不会删,但是不能保证其他服务有没有可能删。
 

3、缓存雪崩,缓存雪崩带来的问题,如何解决?

缓存雪崩:大批量的key在同一时间失效,导致所有的请求都打到了数据库。
===>解决:
key的过期时间做合理规划,对于高频数据,不设置过期时间。
posted @   风筝上的猫  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示