摘要:按阿里云与腾讯云 CDN 公开文档,梳理缓存键(Cache Key)怎么影响命中、状态码要不要缓存、以及刷新与预热的差别与回源成本边界。查询日期 2026-10-16;只放官网普通链接(affiliate_later)。
依据:阿里云《自定义 Cache Key》《刷新和预热资源》《状态码缓存过期时间》;腾讯云《缓存键规则配置》《刷新预热问题》。查询日期:2026-10-16(北京时间)。只放官网普通链接(
affiliate_later);不写单价,回源流量费以各云账单为准。
站点接了 CDN 却仍觉得「又慢又贵」,多半不是「没开 CDN」,而是 缓存键不一致 → 命中率低 → 狂回源,或 源站改了文件却忘了刷新。站内已有 Cloudflare 免费 CDN、WordPress 提速(缓存插件+CDN)、可用性监控;本文专讲 回源链路里三块规则:缓存键、状态码缓存、刷新/预热。
一、先分清:回源、命中、缓存键
| 概念 | 一句话 | 常见坑 |
|---|---|---|
| 命中(HIT) | 边缘节点直接返回已缓存副本 | 误以为「开了 CDN 就一定 HIT」 |
| 回源(MISS/过期) | 节点向源站(或上层)拉内容再给用户 | 参数乱七八糟导致同一文件缓存成 N 份 |
| 缓存键(Cache Key) | 节点用来标识「这是不是同一个文件」的 ID | 默认常是完整 URL(含 query);键一变就当新文件 |
动态接口(购物车、个人中心 API)一般不该当静态资源去拉高命中率;CDN 文档也常提醒:自定义 Cache Key 主要优化静态资源。动态加速要另看边缘计算/动态加速产品,别指望改几个参数解决。
二、阿里云:自定义 Cache Key vs 忽略参数
阿里云帮助中心写明:Cache Key 默认多为客户端请求 URL(带参数);自定义 Cache Key 只改缓存标识,不改回源 URL——回源内容仍与客户端请求一致。若要改回源查询串,应另配「回源参数改写」。

文档建议优先用自定义 Cache Key(功能更全),并注意:
- 与「忽略参数」同时配时,忽略参数会失效;
- 配了自定义 Cache Key 后,按「裸 URL」提交刷新可能对不上——应提交规则处理后的缓存键;
- 典型场景:把无意义的追踪参数从键里去掉以合并缓存;或把
Accept-Language等 Header 拼进键,让中英文页面分开缓存。

三、状态码也要不要缓存?
源站返回 404/302/5xx 时,若节点把异常状态码缓存过久,用户会长时间看到「错的结果」;若完全不缓存,源站又会被打穿。阿里云提供 状态码缓存过期时间:在源站已返回异常状态码时,指定节点对该状态码的缓存动作与时长;2xx 资源仍按常规「缓存过期时间」走。

实务建议(按站点类型微调):
- 404:可短缓存(分钟~小时级),避免扫描器打爆源站,但改完路径要能较快恢复;
- 301/302:看你是否会改跳转目标——易变则短缓存或按文档关闭长缓存;
- 5xx:通常极短或按产品默认,避免把故障页「锁」在边缘。
具体可配状态码列表以控制台为准。
四、刷新 vs 预热:别混着用
阿里云口径
- 刷新:让节点上的旧缓存失效(URL 刷新直接删文件缓存;目录/正则默认多为标记过期,回源可能带条件请求头,源站回 304 则继续用旧副本;要无条件清可用 API
Force=true)。 - 预热:节点按 URL 列表主动回源拉取,降低首波访问压力;默认可先落到回源层,不保证所有 L1 立刻命中。


费用边界:刷新/预热操作本身文档写明不收操作费,但由此产生的回源流量/请求会按源站(如 OSS、ECS 带宽)计费——大批量请放在低峰并分批。

腾讯云口径
腾讯云《缓存键规则》强调:参数会影响内容时不要乱忽略;不影响内容时可「全部忽略」或「保留指定参数」(例如保留 version、忽略时间戳)。

《刷新预热问题》FAQ 把差别写得很直白:刷新删除全网节点该资源缓存,下次访问回源;预热提前拉到节点。配额与生效时间(URL 刷新约 5 分钟量级、预热视文件大小约 5–30 分钟等)以当前文档表为准。源站变更后,节点不会主动实时同步——过期前仍可能吐旧缓存,所以发版要配合刷新。

发版常用顺序:先刷新(必要时 Force)→ 再预热热点 URL。缓存未过期时只预热,可能仍命中旧副本——先问「键是否一致、刷新是否命中该键」。
五、回源排障 8 项清单
- □ 用
curl -I看X-Cache/Age/Via(字段名因厂商而异)——区分 HIT 与 MISS。 - □ 同一文件是否因 query/Header 被拆成多个 Cache Key。
- □ 是否误把 HTML/API 设了超长缓存。
- □ 404/302/5xx 的状态码缓存是否过长。
- □ 源站改文件后是否提交了与 实际缓存键一致 的刷新 URL(含鉴权参数时先去掉签名参数)。
- □ 目录刷新是否只是标记过期(304 仍留旧副本)——紧急清理考虑强制刷新。
- □ 预热是否提交了文件级 URL(不支持目录预热的平台不要填
/static/)。 - □ 回源流量暴涨时对照账单突然变高与对象存储防盗刷。
证书与多站点入口可另看 免费 HTTPS 证书、Nginx 反向代理多站点;被打满带宽时先看 CC/DDoS 止血。
相关阅读
- Cloudflare 免费 CDN 与 SSL
- WordPress 提速:缓存插件与 CDN
- 网站可用性监控:HTTP 与证书告警
- Nginx 反向代理多站点与 502
- 对象存储图床与防盗刷
- 云服务器账单突然变高怎么查
- 云服务器快照与自定义镜像
风险提示
错误的缓存键或过长的状态码缓存会导致脏数据、SEO 与安全风险;大规模刷新/预热可能拉高回源账单。配置以各云控制台与帮助中心当前页为准;本文不构成采购或架构承诺。