VP导航 VP导航
首页 提交网址

资讯文章 资讯 · NEWS

重建缓存那几分钟:目录站的缓存击穿、雪崩和三条止血手段

2026-10-23 约 1,149 字 预计阅读 3 分钟 yiyunkj

重建缓存那几分钟:目录站的缓存击穿、雪崩和三条止血手段 重

缓存用久了会形成一种错觉:反正有缓存扛着,数据库慢一点没关系。直到某天一个热点 key 过期,几千个请求同时绕过去直奔数据库,前端瞬间全白。

目录站在这件事上比一般站点更危险,因为热点太集中——首页和几个大分类页就占了大部分流量,这几个页面的缓存一旦同时出问题,整站跟着瘫。

目录站缓存击穿雪崩与三条止血手段

图片来源:网络,版权归原作者所有,侵权请联系删除

三种故障,别混着说

现象触发条件典型表现
穿透查一个根本不存在的键每次都落到数据库,缓存形同虚设
击穿单个热点键过期瞬间高并发一两个接口突然变慢,其余正常
雪崩大批键在同一时刻过期整站变慢,数据库连接打满

三种的修法不一样,先判断是哪一种再动手。看监控能分辨:只有一两个接口抖是击穿,全站一起抖是雪崩,某个不存在的 ID 被反复查是穿透。

第一条:单飞锁

热点键过期时,不让所有请求都去重建,只放一个进去,其余的等着拿结果。实现上就是在重建前抢一把锁,抢到的去查数据库写缓存,没抢到的短暂等待后重读缓存。

两个细节要处理好:锁必须有超时,不然拿到锁的进程挂了,后面全堵死;等待要有上限,超过就直接返回,别让请求无限排队。

单飞锁对付击穿很有效,但要注意它把压力从数据库转移到了锁本身的等待队列上,超时时间设太长会在高峰期堆积大量挂起请求。

第二条:逻辑过期加异步刷新

换一种思路——缓存里的数据不设物理过期,而是在值里存一个逻辑过期时间。请求拿到的永远是旧数据,但发现逻辑过期后,后台异步触发一次重建。

好处是请求永远不用等,代价是用户会看到一小段时间的旧数据。对目录站来说这个代价可以接受:条目信息晚几分钟更新没人看得出来。但涉及状态的内容不能用这招,比如「已下架」这种标记,显示旧值会出事。

第三条:过期时间加抖动

雪崩的根源是大量键在同一时刻过期,而它们往往是同一次发布或同一批预热写进去的。解决办法极其简单:给过期时间加一段随机量。

比如基础 TTL 设三十分钟,实际写入时在 30 到 40 分钟之间随机取。一批键的过期时间就散开了,不会再出现同一秒集体失效。这一条几乎零成本,值得在所有批量写入的缓存上默认加上。

穿透则靠另外两招:查不到的键也写一个短时效的空值进去,避免反复查;量大的话在前面加一层布隆过滤器,先判断这个键可不可能存在。

出事时先救哪个

真到了雪崩那几分钟,顺序别乱:先把数据库连满的那个接口限流,保住其他功能;再把最热的几个页面用静态兜底顶上;最后才是修根因。别一边救火一边改代码上线,那只会让情况更复杂。

还有一件容易被忘的事:连续返回 5xx 会让搜索引擎主动降低抓取频率,恢复起来要几天。扛不住的时候宁可返回一个带旧数据的页面,也别返回 502——但页面上要说清楚这是缓存内容,别让用户以为看到的是最新的。

事后补一件事:给缓存命中率和回源量加告警。命中率突然掉一截,往往就是雪崩的前兆,那时候改还来得及。

本文标签 缓存击穿 缓存雪崩 目录站高可用
← 上一篇 一年复核一次:目录站的条目年审该怎么排期和判定 下一篇 → 极客时间

— 本文完 —

提交网址

发现好站,欢迎自荐收录

站内搜索

站点统计

  • 今日审核0
  • 已收录站点3744
  • 正常访问3738
  • 失联站点6
  • 累计访问174

网站分类

  • AI工具 0
    AI对话0 AI绘画0 AI写作0 AI编程0 AI音视频0 AI办公效率0
  • 开发编程 0
    前端开发0 后端开发0 移动开发0 开源与代码托管0 数据库0 开发文档与教程0
  • 设计素材 0
    UI设计0 图标素材0 免费图库0 字体下载0 配色工具0 设计模板0
  • 站长工具 0
    网站统计0 SEO工具0 域名与主机0 收录提交0 建站程序0 运维监控0
  • 学习教育 0
    编程教程0 语言学习0 职业技能0 公开课与慕课0 考试题库0 中小学教育0
  • 生活服务 0
    交通出行0 外卖点餐0 房产租房0 医疗健康0 政务办事0 快递物流0
  • 影音娱乐 0
    影视观看0 音乐音频0 游戏资源0 短视频直播0 小说阅读0
  • 电商购物 0
    综合商城0 比价工具0 导购返利0 二手交易0 团购优惠0
  • 综合其他 1
    实用工具0 资源合集0 小众站点0 个人博客0 论坛社区0
  • 新闻资讯 0
    科技资讯8 财经媒体1 行业动态0 社会热点0 综合门户0
  • 资讯文章 280

最新收录

  • Color Hunt
  • Photopea
  • 廖雪峰的官方网站
  • remove.bg
  • 极客时间
  • 重建缓存那几分钟:目录站的缓存击穿、
  • 一年复核一次:目录站的条目年审该怎么
  • 广告位卖出去之后:素材、到期、落地页

浏览排行

  1. 满分作文网 6
  2. Let's Enhance 3
  3. 淘菜菜 3
  4. MasterClass 3
  5. TypeScript 中文网 3
  6. Zhengziying 3
  7. 得意生活 3
  8. 镇江网友之家 3

联系我们

bQ:12345678

电话:400-8888-888

邮箱:admin@example.com

时间:09:00-21:00

友情链接

车机屋·焊锡条·探兔AI导航·静电测试仪·大学生联盟

关于我们|广告合作|隐私条款|网站地图

原ICP备00000000号-1,@2026

由 Z-BlogPHP 驱动