阿里云CDN提供资源的刷新和预热功能,通过本文您可以了解刷新和预热的操作步骤。

功能介绍

  • 刷新:把CDN所有节点上对应的缓存资源标记为失效,当用户再次请求时,CDN会直接回源站获取对应的资源并返回给用户,同时将资源重新缓存到CDN节点。刷新功能会降低缓存命中率。
  • 预热:源站主动将对应的资源缓存到CDN节点,当您首次请求资源时,即可直接从CDN节点获取到最新的资源,无需再回源站获取。预热功能会提高缓存命中率。

适用场景

下表列出了刷新和预热功能常见的适用场景。
功能适用场景
刷新
  • 资源更新和发布

    源站的旧资源更新或升级后,为避免用户仍访问到旧的缓存资源,可通过提交对应资源的URL或目录进行刷新,用户即可直接访问到最新的资源并缓存至CDN节点。

  • 违规资源清理

    如果您的源站存在使用限制中提及的不合规内容,当您删除源站资源后,由于CDN节点存在缓存,资源仍可以被访问到,可通过URL刷新功能更新缓存资源。

预热
  • 运营活动

    运营一个大型活动时,提前将活动页涉及到的静态资源预热至CDN节点,活动开始后用户访问的所有静态资源均已缓存至CDN加速节点,由加速节点直接响应。

  • 安装包发布

    新版本安装包或升级包发布前,提前将资源预热至CDN加速节点,产品正式上线后,海量用户的下载请求将直接由CDN加速节点响应,提升下载速度,大幅度降低源站压力,提升用户体验。

注意事项

  • 提交刷新任务并成功执行后,CDN节点上对应的缓存资源将会失效,当您再次发起访问请求时,节点会回源站拉取所需资源,并重新缓存在节点上,因此大批量提交刷新任务会清空较多缓存,导致回源带宽和请求突增,增加源站压力。
  • 刷新任务从提交到生效,大约需要5~6分钟,如果文件或者目录配置的缓存过期时间少于5分钟,您无需执行刷新操作,等待文件或者目录缓存超时更新即可。
  • 提交预热任务并成功执行后,CDN节点会立即回源站加载所需资源,因此大批量提交预热任务会生成较多的并发下载任务,导致回源带宽和请求突增,增加源站压力。
  • 预热任务从提交到预热完成,实际执行时间视预热文件大小而定,大约需要5~30分钟。
  • 使用RAM用户刷新和预热需先获得授权,请参见授予RAM用户刷新预热权限完成授权。
  • URL刷新、目录刷新和正则刷新都已支持共享缓存。在域名配置了共享缓存的情况下,使用主域名或者任意一个关联域名来提交刷新任务,都可以刷掉缓存。

刷新资源

说明 如果您需要自动化刷新或预热,请参见自动化工具说明
  1. 登录CDN控制台
  2. 在左侧导航栏,单击刷新预热
  3. 刷新缓存/预热缓存页签,配置刷新规则。
    刷新预热
    参数说明
    操作类型选择刷新
    操作方式支持URL目录正则刷新。
    URL
    • 如果您账号的日带宽峰值大于200 Mbps,可参考配额管理申请提升每日配额,阿里云将根据您业务的实际需求进行评估和配置。
    • URL刷新
      • 输入的URL必须带有http://https://
      • 刷新多个URL时,请按照一行一个URL进行输入。
      • 一个账号每日最多可以提交10000条URL刷新,每次最多可以提交1000条URL刷新,单个域名每分钟最多可以提交1000条URL刷新。
    • 目录刷新
      • 输入的URL必须以http://https://开头,以正斜线(/)结尾。
        • 刷新根目录下所有文件:http://example.com
        • 刷新子目录/path/test/下的所有文件:http://example.com/path/test/
      • 刷新多个URL时,请按照一行一个URL进行输入。
      • 一个账号每日最多可以提交100个目录刷新,一次可全部提交,目录刷新包含子目录。如果您提升了每日配额,每次最多可以提交1000条目录刷新。
      • 目录刷新默认采用标记资源过期的处理方式,不支持删除目录。目录刷新会将节点上对应目录置为过期,后续有用户访问时,CDN节点将会回源站校验目录是否更新,有更新时从源站重新拉取新版本返回给用户,未有更新时源站响应304状态码。
    • 正则刷新

      详情请参见正则刷新说明

  4. 单击提交
  5. 查看刷新进度。
    提交刷新任务后,您可以在操作记录页签中查看资源刷新的详细记录和进度。刷新数量多会影响刷新进度,请您耐心等待。
    说明 如果您在OSS控制台开启了CDN缓存自动刷新,则无法通过CDN控制台查看OSS上的缓存自动刷新任务。

预热资源

说明 如果您需要自动化刷新或预热,请参见自动化工具说明
  1. 登录CDN控制台
  2. 在左侧导航栏,单击刷新预热
  3. 刷新缓存/预热缓存页签,配置预热规则。
    预热
    参数说明
    操作类型选择预热
    操作方式仅支持URL预热。
    URL
    • 输入的URL必须带有http://https://
    • 预热多个URL时,请按照一行一个URL进行输入。
    • URL预热配额(每日):默认情况下,一个账号每日最多可以提交1000条URL预热任务,如果您账号的日带宽峰值大于200 Mbps,可通过配额管理申请提升每日配额,阿里云将根据您业务的实际需求进行评估和配置。
    • 每次最多可以提交100条URL预热任务。
    • 预热队列规则:每个账号的预热队列最大为50000条URL,CDN根据URL提交的先后顺序进行预热,当预热队列中未完成的任务达到了50000条URL时,阿里云CDN将会采取排队机制(即完成排序最前的一条URL预热后才可以继续提交下一条URL预热)完成预热。
    • 预热速度:预热任务的执行速度与需要预热资源的文件平均大小有关,文件平均大小越小,预热速度越快。
  4. 单击提交
  5. 查看预热进度。
    提交预热任务后,您可以在操作记录页签中查看资源预热的详细记录和进度。预热数量多会影响预热进度,请您耐心等待。

相关API

您可以调用API接口,实现资源的刷新和预热,详情如下表所示。
API描述
PushObjectCache将源站资源主动预热到CDN节点,您首次访问可直接命中缓存,缓解源站压力,加快资源响应速度。
RefreshObjectCaches刷新节点上的文件内容。被刷新的文件缓存将立即失效,新的请求将回源获取最新的文件,支持URL批量刷新。
说明 URL刷新、目录刷新和正则刷新都已支持共享缓存。在域名配置了共享缓存的情况下,使用主域名或者任意一个关联域名来提交刷新任务,都可以刷掉缓存。
DescribeRefreshTasks查询已提交的刷新、预热任务的执行情况。
DescribeRefreshTaskById通过任务编号查询已提交的刷新、预热任务的执行情况。
DescribeRefreshQuota查询当天URL刷新、目录刷新、预热及封禁的最大限制数量和剩余量。
DescribeCdnUserQuota查询用户配额上限和余量信息。