CDN刷新 vs 预热区别

CDN刷新是让旧缓存失效,预热是提前把资源缓存到 CDN 节点。刷新用于资源更新、清理旧内容;预热用于活动上线、大文件发布前提前降低源站压力、提升首次访问体验。


对比

对比项 CDN 刷新 CDN 预热
核心目的 清除或失效 CDN 上的旧缓存 提前把资源拉取并缓存到 CDN
触发方向 用户访问时,CDN 回源获取新内容 CDN 节点主动回源拉取资源
典型场景 文件更新、页面改版、违规资源清理、配置变更 活动前、安装包发布前、热点资源提前加载
支持对象 URL、目录、正则刷新 只支持具体 URL,不支持目录预热
对源站影响 刷新后用户访问会集中回源,可能增加源站压力 预热时会提前产生回源流量,降低高峰期压力
是否立即全网命中 不是,刷新任务通常需几分钟生效 不是,通常主要预热到 L2 回源节点,L1 仍依赖用户访问逐步缓存

什么时候用刷新

当你希望旧内容不要再被用户访问到时,用刷新。

常见情况包括:源站资源已经更新,但 CDN 还缓存旧版本;网站页面、图片、JS、CSS 发布了新版本;删除了源站上的不合规资源,但 CDN 节点仍可能缓存;修改了缓存规则、回源配置、响应头配置后,希望 CDN 重新获取最新结果。如果只是普通静态资源发布,URL 刷新通常更精确。如果是整个目录下资源都变更,可以用目录刷新。如果需要按文件类型、版本号、路径模式批量处理,可以使用正则刷新。不过正则刷新配额更少,应谨慎使用。

什么时候用预热

当你希望用户访问之前 CDN 已经准备好资源时,用预热。

典型场景是大型活动上线前,把活动页涉及的核心静态资源提前预热;新版本 App 安装包、视频、大文件发布前,提前把文件预热到 CDN;首次接入 CDN 后,将热点静态资源提前缓存,减少首次访问延迟。预热更适合大文件、热点文件、关键资源。大量小文件通常不建议全部预热,因为预热会产生回源流量,且默认每日 URL 预热配额有限。

使用建议

发布新版本时,通常先更新源站资源,再刷新 CDN 缓存。如果是同名文件覆盖发布,尤其是 HTML、JS、CSS 这类容易被缓存影响的资源,最好结合版本号或文件 hash,例如 app.a1b2c3.js,减少强制刷新依赖。

活动或大文件上线前,建议提前 5 到 30 分钟做预热,并在低峰期执行,避免预热本身造成源站压力。预热完成后,可以用 curl -I <资源链接> 查看响应头,如果 X-CacheHIT,通常表示命中缓存;如果是 MISS,说明可能尚未完成或预热失败。

简而言之:内容变了,用刷新;流量要来了,用预热;同名文件强更新,优先考虑强制刷新;大文件活动上线,优先考虑预热。