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

Redis--高并发问题:缓存穿透、缓存击穿、缓存雪崩与数据库缓存双写不一致

Redis的高并发问题

Redis做缓存虽然减轻了DBMS的压力,但在高并发情况下也可能会出现问题。

缓存穿透

当请求的数据既不在缓存也不在数据库(比如查询民族是阿凡达的人口总数),就会导致每个查询都会“穿透”缓存“直抵数据库”,这种情况称为缓存穿透。

缓存穿透不仅增加了响应时间,而且还会引发对DBMS的高并发查询,这很可能导致DBMS的崩溃。

缓存穿透的原因有两个:

  • 数据库种没有相应的查询结果
  • 查询结果为空时不进行缓存。

那么解决方案也有两个:

  • 对非法请求进行限制
  • 对结果为空的查询给出默认值

缓存击穿

对于某个缓存,在高并发情况下访问量巨大,当缓存过期时,出现大量访问要到数据库中进行查询,导致DBMS崩溃,这种情况称为缓存击穿,该缓存数据称为热点数据。

其解决方案是使用“双重检测锁”机制。

// 双重检测锁就是先判断、再加锁、再判断,把性能和安全兼顾。public static Singleton getInstance() {// 第一次检测:不为空直接返回,不加锁(性能优化)if (instance == null) {synchronized (Singleton.class) {// 第二次检测:防止多个线程同时进入外层判断if (instance == null) {instance = new Singleton();}}}return instance;}

缓存雪崩

由于缓存中的数据,很多是有过期时间的。若大量缓存在同一很短时间内全部过期,那么在高并发场景下可能会对DBMS的高并发发起查询。这会导致DBMS崩溃,这种情况称为缓存雪崩。

缓存雪崩没有很直接的解决方案,最好的方案就是预防,就是提前规划好过期时间。

要么让缓存永久有效,当DB数据发生变化时清楚缓存。

如果DBMS是分布式部署,就将热点数据均匀分步在不同的数据库节点,将可能到来的访问分散开。

数据库缓存双写不一致

以下两种场景下均可能发生此问题:

  • “修改DB更新缓存”场景

    对于具有缓存warmup功能的系统,数据变更会更新缓存(不是删除缓存)。

    在高并发写请求的场景下数据库与缓存中数据不一致。

无标题

  • “修改DB删除缓存”场景

    没有缓存warmup功能的,对数据库执行写操作后,会删除缓存。

无标2题

上面这个图画的不好。

解决方案:延迟双删

延迟双删专门针对“修改DB删除缓存”场景的解决方案,此方案不能彻底解决数据不一致的问题,只会降低发生问题的概率。

延迟双删:写操作完成后立即执行删除缓存操作,然后停止一段时间(一般几秒钟)后再删除一次。

两次删除中间的间隔时长要大于一次缓存写操作的时长。

无3标题

解决方案:队列

将请求写入一个队列,一个请求处理完再出来下一个请求。

但是这样会使系统失去并发性,降低性能。

解决方案:分布式锁

通过对数据加锁来协调对其得到操作即可。这样不会影响并发,最终使数据库与缓存的数据达成一致性。

http://www.jsqmd.com/news/797231/

相关文章:

  • 2026年5月卡地亚官方维修保养服务全面升级通知 - 速递信息
  • 六西格玛备考笔记怎么做? - 众智商学院官方
  • 零代码基础也能搞定!用Gitee Pages+现成模板5分钟搭建个人主页/作品集
  • AI Agent配置生成器实战:从原理到应用,快速构建智能体工作流
  • 告别SD卡!用FlashDB在STM32片上Flash存数据,实测资源占用与性能
  • 深圳招商加盟行业洞察 汽车典当赛道合规化发展 优质企业成创业优选 - 深度智识库
  • 1627D
  • 145.二叉树的后序遍历
  • 如何快速将B站缓存视频转换为MP4格式:m4s-converter终极指南
  • 2026年重庆代理记账优选排名|本土靠谱财税服务商口碑深度测评 - 品牌种草官
  • 2026年泉州留学中介机构前十评价,资质正规机构选择参考 - 速递信息
  • 2025届毕业生推荐的十大AI写作工具解析与推荐
  • 2026届毕业生推荐的六大AI辅助论文平台推荐榜单
  • 2026年4月做得好的不锈钢链板公司推荐,不锈钢链板/乙型网带/紫外线杀菌机/不锈钢网带,不锈钢链板厂家选哪家 - 品牌推荐师
  • Companion:智能项目仪表盘,一键解析技术栈与自动化开发流程
  • sherpa-onnx语音AI部署指南:如何实现全平台离线语音识别与合成
  • 2026年自贡全案设计与一站式整装深度横评:五大品牌选购指南 - 年度推荐企业名录
  • 告别臃肿!用Debootstrap从零打造一个极简Debian系统(保姆级分区+配置指南)
  • 数智节能空压机厂家怎么选?看常州“阿特拉斯”的一线实践经验 - 企师傅推荐官
  • FreeRTOS在RISC-V上的心跳:除了mtime,你还能选什么定时器?
  • 2026实测海口劳力士回收避坑全攻略 高价变现指南 - 奢侈品回收测评
  • 六西格玛历年真题哪里找 - 众智商学院官方
  • 2026贵州青少年管教学校:从叛逆学校到戒网瘾学校的理性选择指南 - 深度智识库
  • Elixir集成Ollama本地大语言模型:从原理到工程实践
  • 武汉好运发搬家:青山空调维修怎么联系 - LYL仔仔
  • 3分钟学会BepInEx:游戏模组开发终极框架安装指南
  • DeepSeek API Gateway安全防护体系(零信任网关落地指南)
  • 2026年江苏电动破碎阀行业深度横评:五大品牌智能防堵塞解决方案对比指南 - 企业名录优选推荐
  • 2025最权威的十大AI写作方案实测分析
  • 河北雄安梦臻装配式建筑科技:河北专业的临建房定制公司有哪些 - LYL仔仔