面试填坑之Redis无底洞(一、Redis缓存雪崩、击穿、穿透)

本文介绍了Redis缓存中可能出现的雪崩、击穿和穿透问题及其解决方案。雪崩是大量请求导致缓存同时失效,使数据库不堪重负;击穿是指热点Key过期后,请求直接穿透缓存到达数据库;穿透则是针对不存在的Key,导致数据库频繁查询。应对策略包括:Redis高可用部署、本地缓存、限流降级、设置随机过期时间、使用互斥锁、布隆过滤器等。最后强调了开发中应具备不信任调用方的心态,做好参数校验和风控措施。
摘要由CSDN通过智能技术生成

Redis缓存雪崩、击穿、穿透

学习自大佬:https://blog.csdn.net/qq_35190492/article/details/102889333
https://www.cnblogs.com/yoishion/p/10791501.html

自己之前的博客:Redis基础

一、雪崩

1、 什么是雪崩?
一秒5000个请求来访问缓存中的key值,这时发生了Redis的全盘崩溃或者访问的key值同一时间全部过期失效,这时一瞬间的请求就会直接去查询数据库了,这么大量的请求会占用大量的cpu和内存,会引发数据库的崩溃或重启,就算重启后也会被新的请求再次冲垮,因此会影响所有涉及数据库的服务大范围崩溃,因此称之为雪崩。

2、解决方案?

  • Redis建立高可用,主从+哨兵,集群部署,避免Redis全面崩盘(后面会补详细高可用说明 TODO
  • 本地ehcache缓存+hystrix 限流&降级,避免数据库被击垮(ehcache是啥?hystrix又是啥?)
  • 数据过期时间设置永久不过期,有更新操作就更新缓存就好了(缺点消耗大量的内存,但是对大公司来说 内存算啥??保证效率就可以了)
  • 数据
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值