刷新是做什么的
缓存刷新用于让已经缓存的旧内容立即失效:URL 刷新精准到单个文件,目录刷新按路径前缀批量生效。它只能作用于已经缓存过的 URL,且提交后有配额限制与生效延迟。最关键的一点是顺序——刷新不是发布动作,它只是删除边缘缓存,如果源站内容还没有更新,回源取回来的仍然是旧文件,等于白刷一遍还消耗了配额。
基本信息
| URL 刷新 | 按完整 URL 精准失效,配额消耗小 |
|---|---|
| 目录刷新 | 按目录前缀批量失效,配额消耗大 |
| 生效 | 提交后进度可查,通常数分钟内陆续生效(各家有差异) |
| 前提 | 只能刷新已经缓存过的 URL,未命中的 URL 无需刷新 |
典型使用场景
- 线上配置或文案发布后,让用户立刻看到新内容而不是旧缓存
- 紧急撤下错误内容:先替换源站文件,再刷新对应 URL
- 整站改版时按目录批量刷新静态资源
- 与预热配合:先刷新再预热,确保边缘拿到的是最新版本
提交刷新
提交刷新
aliyun cdn RefreshObjectCaches --ObjectType File \
--ObjectPath 'https://cdn.example.com/static/app.js'
tccli cdn PurgeUrlsCache --Urls 'https://cdn.example.com/static/app.js'
# 提交后查询进度,确认实际已失效URL 刷新与目录刷新对比
| 维度 | URL 刷新 | 目录刷新 |
|---|---|---|
| 粒度 | 单个 URL | 整个目录前缀 |
| 配额消耗 | 小 | 大 |
| 生效速度 | 较快 | 随文件数量增加 |
| 适合 | 少量精确变更 | 整批内容更新 |
刷新不等于发布:源站要先更新内容再刷新,否则 CDN 回源拿到的仍是旧文件。
配额与效率怎么兼顾
刷新配额通常是按条数或按目录量限制的,频繁发版时很容易触顶。更省配额的做法是给静态资源加版本号或内容哈希,让发版后 URL 本身发生变化,新 URL 天然不会被旧缓存命中,也就不需要刷新;只有 HTML 入口这类固定 URL 才需要刷新。此外,目录刷新虽然省事,但一次会清掉大量缓存,随后短时间内回源压力集中上升,流量大的站点最好放在低峰执行,或者分批刷新。