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

redis 缓存穿透,缓存雪崩,缓存击穿

之前也不知道是哪个老六总结出来得缓存穿透,缓存击穿 。
穿透,击穿 中文上容易搞混,所以贴出英文

缓存穿透: Cache Penetration
“Penetration” 有穿透、渗透之意,
eg: the penetration of hackers into the system (黑客对系统的侵入)

缓存击穿:Cache Breakdown
“Breakdown” 表示故障、损坏
eg: a nervous breakdown(精神崩溃 )

看下英文就很容易搞清楚了

缓存穿透

原理:当请求查询一个确定不存在的数据时 ,缓存中没有对应数据,请求直接落到数据库上。若被恶意利用,频繁发起此类查询,会给数据库带来极大压力。
解决方案分析:对不存在的数据也进行缓存,设置较短过期时间的空值缓存。或者采用布隆过滤器

缓存击穿

原理:热点数据(访问频率极高的数据)在缓存失效的瞬间,大量请求同时涌入,直接访问数据库,可能造成数据库短时间压力剧增。
解决方案分析:
使用互斥锁,在缓存失效时,只允许一个请求去数据库加载数据并更新缓存,其他请求等待,避免大量请求同时访问数据库。(只有缓存失效得时候才使用互斥锁)
采用 “永不过期” 策略,后台异步更新数据,保证热点数据一直有缓存,或者提前对热点数据进行预热,在缓存失效前主动更新缓存

缓存雪崩

原理:大量缓存同时失效,导致大量原本应从缓存获取数据的请求,瞬间都直接访问数据库,使数据库负载过高,甚至可能导致数据库崩溃。
解决方案分析:
给缓存失效时间加上随机值,让缓存失效时间分散开,避免集中失效。
使用多级缓存,如本地缓存 + 分布式缓存,当一级缓存失效时,二级缓存可作为缓冲,减轻数据库压力。

总结

缓存击穿 与 缓存雪崩 很像, 击穿是一条热点数据,雪崩是大量数据
穿透,是被入侵

http://www.xdnf.cn/news/8264.html

相关文章:

  • 【前端】Bun:快速上手
  • 【ubuntu】安装NVIDIA Container Toolkit
  • 什么是 AWS Migration Evaluator?
  • Apache ZooKeeper原理与应用
  • ReAct 与 CoAct:AI 代理的推理与行动之旅
  • 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之协方差矩阵控制椭球
  • 「短剧系统开发」定制化技术架构|高并发微服务 + AI 推荐,快速搭建流量级短剧平台
  • JDBC-java操作数据库
  • k8s网络架构
  • 养生指南:五维焕新健康生活
  • SQL 的 DECODE 函数
  • 会话管理有哪些
  • 蓝桥杯国14 不完整的算式
  • 中文域名25周年,取得哪些里程碑式的进展?
  • 力扣HOT100之图论:207. 课程表
  • MQSQL笔记二——非操控数据操作
  • 【Python】Python 装饰器的用法总结
  • 聚铭安全管家平台2.0重磅发布——大模型智驱高效降本新方向
  • 基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
  • LVGL(lv_span富文本控件)
  • Ubuntu 25.04 锁屏不能远程连接的解决方案
  • JavaScript闭包
  • 数据保护与通讯安全
  • 【论文精读】2023 CVPRW--EAVSR现实世界视频超分辨率(RealWorld VSR)
  • 【Go】1、Go语言基础
  • LeRobot 框架的开发指南 (下)
  • react native搭建项目
  • 计算机操作系统(十二)详细讲解调计算机操作系统调度算法与多处理机调度
  • 设计模式系列(05):工厂方法模式(Factory Method)
  • 量化研究---bigquant策略交易api研究