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

【redis——缓存击穿】

redis——缓存击穿

  • 缓存击穿
    • 核心特征​​
  • 缓存击穿的解决方案
    • 互斥锁(Mutex Lock)方案
    • 逻辑过期(Logical Expiration)

缓存击穿

缓存击穿是指​​某个热点key在缓存过期失效的瞬间,同时有大量请求涌入,直接穿透缓存访问数据库​​的现象。

核心特征​​

  • 针对的是​​热点数据​​(高频访问的key)
  • 发生在​​缓存失效的瞬间​​
  • 造成数据库​​瞬时高并发压力​​
  • 数据​​真实存在于数据库​

缓存击穿的解决方案

互斥锁(Mutex Lock)方案

​​核心思想​​:使用分布式锁保证只有一个线程重建缓存
适用场景​​:写操作较少的动态数据
​​优势​​:强一致性

存在
不存在
等待后
降级
客户端请求数据
缓存存在?
返回缓存数据
尝试获取分布式锁
获取锁成功?
查询数据库
写入缓存
释放锁
等待重试或降级
返回默认数据

逻辑过期(Logical Expiration)

​​核心思想​​:物理永不过期,通过逻辑字段控制有效性
适用场景​​:极高热度的静态数据(如商品基础信息)
优势:渐进式更新​​:通过异步线程更新缓存,避免瞬时负载

不存在
存在
未过期
已过期
客户端请求数据
缓存存在?
查询数据库并全量写入
返回新数据
逻辑是否过期?
返回缓存数据
尝试获取更新锁
获锁成功?
立即返回当前过期数据
同时异步更新
异步流程:
1. 查询最新数据
2. 更新缓存
3. 释放锁
返回当前过期数据

相关文章:

  • 中国老年健康调查(CLHLS)数据挖掘教程(1)--CLHLS简介和数据下载
  • 【计算机系统结构】期末复习
  • 如何确保邮件群发不会被标记为垃圾邮件?
  • 输入法,开头输入这U I V 三个字母会不显示 任何中文
  • 深入解析 SNMP Walk 的响应机制
  • NaluCFD 介绍和使用指南
  • DAO 代码说明文档
  • 抖音AI数字人对口型软件LatentSync最新版整合包,音频驱动口型讲话
  • 前端跨域解决方案(1):什么是跨域?
  • 自主导航巡检机器人系统解决方案
  • 第17篇:数据库中间件的弹性伸缩与容量规划实战
  • 给element-plus的table表格加上连续序号
  • 20.excel制作图表,图表跟随数据行数的变化而自动更新
  • GEO指南之内容创业者:AI时代的“品牌大模型种草”与IP推荐力打造
  • 排序--计数排序
  • 无人机侦测与反制技术进展
  • 对象映射 C# 中 Mapster 和 AutoMapper 的比较
  • 【Linux】git基础操作
  • 如何在Linux命令窗口中执行MySQL脚本
  • Linux系统权限提升篇Vulnhub辅助项目SUID权限SUDO指令版本漏洞
  • 邢台做网站优化哪儿好/广州百度推广客服电话
  • 网站内的搜索怎么做的/百度账号注销
  • 网站备案需要提交什么资料/中文搜索引擎有哪些平台
  • 做网站毕业设计/杭州产品推广服务公司
  • 长沙最大的广告公司/seo顾问阿亮
  • 酒店网站建设设计/长沙专业网站制作