当前位置: 首页 > news >正文

Redis三大缓存异常问题

三大缓存异常问题:穿透、击穿、雪崩

一、问题归类

属于Redis缓存高并发故障、缓存设计、数据库防护核心知识点。

包括:缓存击透、缓存击穿、缓存雪崩

共性问题:缓存与数据库数据不一致、高并发打垮数据库

二、缓存击穿

1.定义

查询的数据,缓存和数据库都不存在,请求直接绕过Redis,全部打到数据库。大量非法空请求反复查询不存在数据,数据库压力暴涨。

2.常见场景

1.恶意攻击:故意查不存在ID、负数ID、异常参数

2.业务无效请求:前端传错参数、过期订单、已删除数据

3.解决方案

1.布隆过滤器

提前把所有合法的数据ID存入布隆过滤器,请求先过滤,不存在直接拦截,不查缓存与数据库

优点:占用内存极小、拦截效率高

缺点:存在极小误判,无法删除数据

2、缓存空值/默认值

查询数据库为空时,Redis存入空对象、空字符串,并设置较短的过期时间。

后续相同请求直接命中缓存,不在访问数据库

3.接口参数校验

  • 拦截非法参数:负数ID,超长字符、违规格式,直接返回报错

4.限流封禁

对高频异常IP、帐号限流,恶意请求直接拉黑

三、缓存击穿

1.定义

热点 Key 突然失效,瞬间海量并发请求直接冲击数据库。特指单个超高热度 Key 过期,瞬间压力击穿数据库。

2.常见场景

秒杀商品、首页爆款、热搜数据、高频访问单个缓存键过期。

3.解决方案

1.互斥锁(分布式锁)

同一个 Key 只放行一个请求查数据库更新缓存,其余请求等待重试。常用:Redisson 分布式锁,避免并发击穿。

2.永不过期

热点数据不设置过期时间,后台定时主动更新缓存,杜绝过期击穿。

3.逻辑过期

缓存不物理删除,存入过期时间字段,业务判断过期后异步更新,旧数据照常返回。

4.热点数据定时预热

高峰期前主动刷新热门 Key,避免集中过期。

四、缓存雪崩

1.定义

大批量缓存 Key 同一时间失效 / Redis 服务宕机,所有请求全部访问数据库,瞬间压垮数据库。范围远大于击穿:大量键集体失效

2.两大触发原因

1.过期时间集中:大量 key 设置相同 TTL,同一时刻集体失效

2.Redis 宕机、断电、集群故障、网络断开

3.解决方案

(1)解决批量过期雪崩

  1. 过期时间加随机偏移量在原有过期时间基础,增加随机秒数,打散失效时间,避免集体过期。

  2. 分层缓存本地 JVM 缓存 + Redis 二级缓存,Redis 失效优先

(2)解决 Redis 宕机雪崩

  1. Redis 集群高可用主从复制、哨兵模式、集群分片,主节点故障自动切换从节点,保证服务不挂。

  2. 服务降级Redis 不可用时,直接返回默认数据、兜底页面,不再查询数据库。

  3. 熔断机制数据库压力超限直接熔断,拒绝新请求,保护核心业务。

  4. 限流削峰限制每秒请求量,排队处理,避免瞬间洪峰涌入。

  5. 数据持久化RDB+AOF 持久化,宕机重启快速恢复缓存数据。

五、三者核心区别

1.穿透:查不存在的数据,请求穿过两层

2.击穿:单个热点key过期,单点被瞬间打爆

3.雪崩:批量热点key失效/服务宕机,大范围崩溃

六、优化

1.合理设计缓存过期时间,杜绝统一过期

2.读写分离,分担数据库查询压力

3.缓存更新策略统一:更新数据库同步更新 / 淘汰缓存

4.监控缓存命中率、接口 QPS,提前预警异常

http://www.zskr.cn/news/1383882.html

相关文章:

  • Ubuntu经常安装软件
  • 航空发动机叶片三维扫描-诺斯顿
  • 创业团队如何利用Taotoken实现低成本多模型AI能力快速验证
  • 半监督学习在肺部疾病声音分类中的应用:MFCC+CNN与三模块协同训练
  • 5分钟学会BlenderKit:让你在Blender里拥有一个永不枯竭的创意资源库
  • 小白友好:OpenClaw Windows 一键部署教程(含安装包)
  • LVGL多页面开发避坑:用内部Timer替代轮询,解决页面切换时的内存踩踏问题
  • 用Azure Kinect DK和Body Tracking SDK,5分钟实现一个实时人体骨骼点检测Demo(C++版)
  • 电磁流量计十大品牌排名 - 水质仪表品牌排行榜
  • 【常规维护】Claude Code v2.1.150 发布:聚焦内部基础设施演进
  • 榨干Codex!OpenAI工程师亲授Codex真正用法
  • 真可用!美团数字人模型开源,MV、电商等统统拿下
  • 2026年5月西安AI搜索流量怎么抢?优质GEO优化服务商TOP5榜单 - 资讯快报
  • FortiGate DNS服务器:不只是域名解析,更是安全策略第一道防线
  • 私有化视频会议系统EasyDSS一个平台,搞定直播、点播、作业、统计—学校终于不用买多套系统了
  • 临沂黄金回收优选榜单|甄选特色门店 合规经营无套路 铸就本地行业标杆 - 鑫顺黄金回收
  • 如何快速解锁中兴光猫权限:zteOnu工具完整使用指南
  • 百度深度学习研究院的“叛将“,带着一颗芯片改变了中国智能驾驶——地平线余凯,从ImageNet冠军到征程出货1000万
  • Harness终极实战:打造全链路可观测性Agent环境
  • Linux命令总结
  • LayaAir引擎新增华为小游戏发布能力并支持WebGPU渲染模式
  • 白嫖$100直充券,3款Search MCP让你的AI Agent更聪明!
  • REFramework:RE引擎游戏Mod开发与VR支持的完整解决方案
  • 从微调到部署一条龙:LLaMA + LoRA + vLLM
  • 低成本四足机器人定位新思路:给Go1狗腿装上MPU9250 IMU,实测漂移降低80%
  • 每天25分钟的淘宝任务,如何用智能脚本一键搞定?
  • 俄罗斯诚实标识 DataMatrix 码采集的技术实现与合规优化
  • 15个靶场如何构建渗透测试能力成长路径
  • 全球无障碍宣传日:iOS 26 辅助功能大升级,这些实用小功能你用过吗?
  • Vue2-Verify:解决前端验证码安全性与用户体验平衡问题的技术方案实现