云数科技返回首页
CDN 实践

CDN 缓存规则怎么设置?TTL、缓存键、刷新与回源指南

CDN 是否真正加速,取决于哪些内容可缓存、缓存如何区分请求、资源如何更新以及回源是否稳定,而不只是节点数量。

发布与更新:2026-09-24依据公开产品知识整理
01

先区分静态与动态内容

带版本号的 JS、CSS、图片和下载文件适合长期缓存;登录、购物车、用户资料和实时 API 通常不应共享缓存。

  • 按路径和响应类型制定规则
  • 检查 Cookie 与 Authorization
  • 私有响应使用 no-store 或 private
02

TTL 与版本化发布

静态资源使用内容哈希或版本号后,可以设置较长 TTL;更新时发布新 URL,而不是频繁刷新全站缓存。

  • HTML 使用较短 TTL 或协商缓存
  • 静态资源使用 immutable
  • 不要让同一 URL 返回不同文件版本
03

缓存键决定命中和隔离

缓存键通常包含域名、路径和选定查询参数。把无关参数全部加入会降低命中率,忽略业务关键参数可能造成内容串用。

  • 清理广告跟踪参数
  • 保留影响响应内容的参数
  • 分别验证桌面端、移动端和语言版本
04

监控命中率与回源

观察命中率、回源请求、回源带宽、状态码和边缘延迟,避免缓存规则把压力或错误放大到源站。

  • 限制源站只接受 CDN 回源
  • 保持源站 HTTPS 证书有效
  • 准备 CDN 故障时的切换与降级

常见问题

缓存时间越长越好吗?

不是。长期缓存适合带版本号且内容不变的静态资源;频繁变化或个性化内容需要更谨慎。

刷新缓存后为什么用户仍看到旧内容?

还可能存在浏览器缓存、Service Worker、多层 CDN、DNS 或源站中间缓存,需要逐层检查响应头。