Redis缓存雪崩 缓存穿透 缓存击穿
缓存雪崩
当我们用户查询数据去redis查询没有时,就会去数据库中查找,但是数据库中也没有,缓存就没有命中。这时候当用户很多的时候,都发生了这种情况,就会导致数据库压力很大,就导致了缓存穿透。
解决办法:1.布隆过滤器,对用户所传过来的参数在控制层先进行校验,不符合则丢弃。
2.缓存空对象,对于空的对象会给它在redis也建立个空值的缓存(不推荐)。
缓存穿透
就好比微博热搜,大规模大并发的集中对一个点进行查询,就有可能导致缓存击穿,直接访问数据库。
解决办法:1.设置热点数据永不过期。
2.加互斥锁,也叫分布式锁。
缓存击穿
其实就是好比双十二节日,某波商品被集中放入了缓存,假设这批缓存过期时间为一小时,当一小时过后,这批缓存就会集体失效,而当缓存失效后,就会有大批查询数据直击数据库,就可能会导致缓存雪崩,数据库直接崩溃。
解决办法:1.redis挂掉不可怕,可怕的是数据库,所以多建立几个redis节点。
2.限流降级。
3.数据预热。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律