通过刷新功能,您可以删除 CDN 节点上已经缓存的资源,并强制 CDN 节点回源站获取最新资源,适用于源站资源更新和发布、违规资源清理、域名配置变更等;通过预热功能,您可以在业务高峰前预先将热门资源缓存到 CDN 节点,降低源站压力提升用户体验。
功能介绍
-
刷新:把 CDN 所有节点上对应的缓存资源标记为失效,当用户再次请求时, CDN 会直接回源站获取对应的资源并返回给用户,同时将资源重新缓存到CDN节点。刷新功能会降低缓存命中率。
-
预热:源站主动将对应的资源缓存到 CDN 节点,当您首次请求资源时,即可直接从 CDN 节点获取到最新的资源,无需再回源站获取。预热功能会提高缓存命中率。
适用场景
下表列出了刷新和预热功能常见的适用场景。
功能 |
适用场景 |
刷新 |
|
预热 |
|
注意事项
-
提交刷新任务并成功执行后, CDN 节点上对应的缓存资源将会失效,当您再次发起访问请求时,节点会回源站拉取所需资源,并重新缓存在节点上,因此大批量提交刷新任务会清空较多缓存,导致回源带宽和请求突增,增加源站压力。
-
刷新任务从提交到生效,大约需要5~6分钟,如果文件或者目录配置的缓存过期时间少于5分钟,您无需执行刷新操作,等待文件或者目录缓存超时更新即可。
-
提交预热任务并成功执行后, CDN 节点会立即回源站加载所需资源,因此大批量提交预热任务会生成较多的并发下载任务,导致回源带宽和请求突增,增加源站压力。
-
预热任务从提交到预热完成,实际执行时间视预热文件大小而定,大约需要5~30分钟,文件平均大小越小,预热速度越快。
-
使用RAM用户刷新和预热需先获得授权,请参见 授予RAM用户刷新预热权限 完成授权。
-
URL刷新、目录刷新和正则刷新都已支持共享缓存。在域名配置了共享缓存的情况下,使用主域名或者任意一个关联域名来提交刷新任务,都可以刷掉缓存。
-
预热请求默认携带的header是
Accept-Encoding:gzip
,如果您需要预热请求携带其他header,或者实现多副本预热,那么可以使用OpenAPI接口 PushObjectCache - 预热URL ,并通过设定请求参数WithHeader
来实现自定义预热header。 -
预热时,如果源站返回307等重定向相关的状态码,预热任务并不会跟随重定向地址继续完成预热,最终会导致预热失败。如果源站返回的是301或者302状态码,并且CDN上已经开启了 回源301/302跟随 ,这种情况下正常预热不受影响。
手动刷新资源
-
登录 CDN控制台 。
-
在左侧导航栏,单击 刷新预热 。
-
在 刷新缓存/预热缓存 页签,配置刷新规则。
参数
说明
操作类型
选择 刷新 。
操作方式
支持 URL 、 目录 、 正则 刷新。
URL
-
默认情况下,一个账号每日最多可以提交10,000条URL刷新和100条目录刷新,目录刷新包含子目录。如果您的阿里云账号的日带宽峰值大于200 Mbps,您可以通过 配额管理 申请提升每日配额,阿里云将根据您业务的实际需求进行评估和配置。
-
默认情况下,一个账号每日最多可以提交20条正则刷新,如果您的阿里云账号的日带宽峰值大于10 Gbps,您可以通过 填写信息 来申请提升每日配额。
-
URL刷新
-
输入的URL必须带有
http://
或https://
。 -
刷新多个URL时,请按照一行一个URL进行输入。
-
-
目录刷新
-
输入的URL必须以
http://
或https://
开头,以正斜线(/)结尾。-
刷新根目录下所有文件:
http://example.com/
。 -
刷新子目录
/path/test/
下的所有文件:http://example.com/path/test/
。
-
-
刷新多个URL时,请按照一行一个URL进行输入。
-
每次最多可以提交100条目录刷新,单个域名每分钟最多可以提交100条目录刷新。
-
目录刷新默认采用“刷新变更资源”方式,如果用户请求的内容匹配到了目录下的资源, CDN 节点将会回源获取资源的 Last-Modified 信息,若与当前缓存资源一致,则直接返回已缓存资源,若不一致,则回源拉取新资源返回给用户,并重新缓存该资源。
-
-
正则刷新
详情请参见 正则刷新说明 。
-
-
单击 提交 。
-
查看刷新进度。
提交刷新任务后,您可以在 操作记录 页签中查看资源刷新的详细记录和进度。刷新进度为100%,表示刷新任务执行完成。刷新数量多会影响刷新进度,请您耐心等待。
说明如果您在OSS控制台开启了 CDN缓存自动刷新 ,则无法通过CDN控制台查看OSS上的缓存自动刷新任务。
手动预热资源
-
登录 CDN控制台 。
-
在左侧导航栏,单击 刷新预热 。
-
在 刷新缓存/预热缓存 页签,配置预热规则。
参数
说明
操作类型
选择 预热 。
操作方式
仅支持 URL 预热。
URL
-
输入的URL必须带有
http://
或https://
。 -
预热多个URL时,请按照一行一个URL进行输入。
-
URL预热配额(每日): 默认情况下,一个账号每日最多可以提交1000条URL预热任务,如果您账号的日带宽峰值大于200 Mbps,可通过 配额管理 申请提升每日配额,阿里云将根据您业务的实际需求进行评估和配置。
-
每次最多可以提交100条URL预热任务。
-
预热队列规则: 每个账号的预热队列最大为100,000条URL, CDN 根据URL提交的先后顺序进行预热;当预热队列中待预热的URL达到了100,000条时, CDN 将会拒绝接收新的预热任务。
-
预热速度:预热任务的执行速度与需要预热资源的文件平均大小有关,文件平均大小越小,预热速度越快。
-
-
单击 提交 。
-
查看预热进度。
提交预热任务后,您可以在 操作记录 页签中查看资源预热的详细记录和进度。预热进度为100%,表示预热任务执行完成。预热数量多会影响预热进度,请您耐心等待。 查看详细操作记录,请参见 如何查看CDN的预热任务是否执行完成 。
自动化刷新或预热
如果您需要自动化刷新或预热,请参见 自动化工具说明 。
相关API
您可以调用API接口,实现资源的刷新和预热,详情如下表所示。
API |
描述 |
将源站资源主动预热到CDN节点,您首次访问可直接命中缓存,缓解源站压力,加快资源响应速度。 |
|
刷新节点上的文件内容。被刷新的文件缓存将立即失效,新的请求将回源获取最新的文件,支持URL批量刷新。
说明
URL刷新、目录刷新和正则刷新都已支持共享缓存。在域名配置了共享缓存的情况下,使用主域名或者任意一个关联域名来提交刷新任务,都可以刷掉缓存。 |
|
查询已提交的刷新、预热任务的执行情况。 |
|
通过任务编号查询已提交的刷新、预热任务的执行情况。 |
|
查询当天URL刷新、目录刷新、预热及封禁的最大限制数量和剩余量。 |
|
查询用户配额上限和余量信息。 |