首页/新闻资讯/正文详情

缓存击穿的解决方案

发布时间:2026/11/7 9:19:17 来源:云帆数科 栏目:资讯中心
缓存击穿的解决方案
1.加锁互斥锁// 缓存不存在 if (cache null) { // 尝试获取分布式锁比如setnx if (lock(lock:goods:1001)) { try { // 查DB data db.query(); // 回写缓存 redis.set(key, data, expire); return data; } finally { unlock(); } } else { // 没抢到锁短暂休眠后重试 sleep(50ms); return getGoodsFromCache(); } }区分 互斥锁 X锁这里的互斥锁指在redis加分布式锁SET lock:goods:1001 唯一标识 NX EX 过期时间这里边的lock是包装了redis里面加锁的命令解锁不能随便解锁随便DEL必须Lua 脚本原子校验 删除-- 判断value是自己的才删 if redis.call(get,KEYS[1]) ARGV[1] then return redis.call(del,KEYS[1]) else return 0 end2.逻辑过期物理上不设置 TTL在 value 里存逻辑过期时间后台异步更新CacheItem item redis.get(key); if (item null) { // 兜底初始化 if (lock()) { data db.query(); redis.set(key, new CacheItem(data, now30s)); unlock(); } return redis.get(key).data; } // 判断逻辑过期 if (item.expireTime now) { if (tryLock()) { // 异步线程更新主线程直接返回旧值 threadPool.submit(() - { newData db.query(); redis.set(key, new CacheItem(newData, now30s)); unlock(); }); } } return item.data;3.提前刷新定时任务提前刷新适合热点固定、能提前预知的 key首页爆款商品缺点资源占用高热点不固定时很难覆盖4.限流不推荐单纯延长过期时间只能缓解不能根治依然有击穿风险对该热点接口加单机 / 分布式限流一旦检测到缓存失效限制 QPS保护数据库。一般配合上面方案一起用不作为主方案。

相关推荐

《读懂 Token》你给 Agent 的每个工具,每一轮都在交税
《读懂 Token》你给 Agent 的每个工具,每一轮都在交税

你给 Agent 的每个工具,每一轮都在交一笔「看不见的税」系列第 10 篇 工程实战篇 一句话:把“MCP 工具怎么用”的啰嗦说明,从每次请求都要重发的系统提示里,挪到按需加载的 Skill 文件里——工具越多,省得越多。前提说… · 2026/11/6 6:35:15

Linux 多线程编程入门:线程基础、创建、生产者消费者与线程安全
Linux 多线程编程入门:线程基础、创建、生产者消费者与线程安全

基本知识线程:进程内部的一条执行路径,主线程结束则进程结束,其他线程没运行完也不能运行了。两个线程如果实现功能相同,则可以用同一个线程函数线程并发运行:多个线程同时执行;作用:一个进程可… · 2026/11/6 6:35:15

【开源治理·银行篇】12-从 0 到 1:银行开源治理 90 天落地路线
【开源治理·银行篇】12-从 0 到 1:银行开源治理 90 天落地路线

【开源治理银行篇】12-从 0 到 1:银行开源治理 90 天落地路线系列「金融开源治理实战」第一季 银行业这是一份起步路线,不是一份“大而全平台”的采购清单。 90 天不可能完成全行所有系统的开源治理,也不适合承诺清完历史漏洞和技术债。它应… · 2026/11/6 6:34:15

郑州建筑工人千万别踩坑:进网电工证安监局18怎么办理?
郑州建筑工人千万别踩坑:进网电工证安监局18怎么办理?

郑州建筑工人千万别踩坑:进网电工证安监局18怎么办理? 你是不是正为找工作发愁?特种作业证不齐全,根本进不了工地。别急, 进网电工证安监局18… · 2026/11/7 9:18:49

电工证中级好考吧吗?多少钱能拿证?周口劳务班组负责人真实经验分享
电工证中级好考吧吗?多少钱能拿证?周口劳务班组负责人真实经验分享

电工证中级好考吧吗?多少钱能拿证?周口劳务班组负责人真实经验分享 你是不是也跟咱们不少周口劳务班组的负责人一样, 不知道去哪报名怕被中介坑 ?现在电工证中级好考吗? 多少钱… · 2026/11/7 9:18:49

电工证中级好考吧吗?全国通用的证书怎么考更稳妥
电工证中级好考吧吗?全国通用的证书怎么考更稳妥

电工证中级好考吧吗?全国通用的证书怎么考更稳妥 实操考试心里没底怕挂科,这事儿别藏着掖着,谁没个紧张的时候?尤其像你这样是郑州初次报考的电工证中级,面对实操考试那几道题,心里没个底儿,怕一紧张就出错。别急,今天我这有真家伙,告诉你电工证中级… · 2026/11/7 9:18:49

广东电工证去哪考保姆级教程:避开坑,一次过!
广东电工证去哪考保姆级教程:避开坑,一次过!

广东电工证去哪考保姆级教程:避开坑,一次过! 怕考不过白交培训费?别慌!今天我就把广东电工证去哪考、怎么考的 保姆级教程 讲清楚,从报名到拿证,每一步我都给你安排得明明白白,专治“考试焦虑”!… · 2026/11/7 9:18:49

池州建设电工证在哪考别错过考前押题
池州建设电工证在哪考别错过考前押题

池州建设电工证在哪考别错过考前押题 证书过期了不知道怎么复审延期?池州建设电工证在哪考,考前押题能帮你搞定!别等到出事才后悔没提前准备。 池州建设电工证在哪考?有哪些正规报名点?… · 2026/11/7 9:18:49

香河考电工证在哪里怎么报名 电工证没拿到根本找不到工作
香河考电工证在哪里怎么报名 电工证没拿到根本找不到工作

香河考电工证在哪里怎么报名 电工证没拿到根本找不到工作 急需特种作业证才能上岗找工作,香河考电工证在哪里怎么报名?很多小伙伴在找电工证的时候,总是被“哪里能报”“流程复杂不”“要准备什么材料”这些问题绕得晕头转向。尤其是像香河这样想进入建筑… · 2026/11/7 9:17:49

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?
澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄?

澳洲水电工证考试:证书过期了不知道怎么复审延期?电子证书怎么弄? 证书过期了不知道怎么复审延期?别慌,很多人在拿到【澳洲水电工证考试】的电子证书后,一不小心就忽略了复审时间,结果证书失效,工作受阻,甚至被单位追责。今天就从【澳洲水电工证考试… · 2026/11/7 0:00:41

电工作业提示版通过率揭秘:怎么考才能一次过?
电工作业提示版通过率揭秘:怎么考才能一次过?

电工作业提示版通过率揭秘:怎么考才能一次过? 怕考不过白交培训费?别急,今天我就从驻马店应届工程类毕业生的视角,带你全面了解电工作业提示版的考试流程、备考要点和真实通过率,帮你少走弯路、提高一次通过率。… · 2026/11/7 0:00:41

电工证年审报名千万别踩坑 外省证转过来要搞清这几点
电工证年审报名千万别踩坑 外省证转过来要搞清这几点

电工证年审报名千万别踩坑 外省证转过来要搞清这几点 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,特别是像你这样在商丘从事公路工程的人员,经常需要跨省流动,证书的 有效性 和 可迁移性… · 2026/11/7 0:00:41

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码