You need to enable JavaScript to run this app.
导航
缓存刷新
最近更新时间:2025.09.29 11:06:49首次发布时间:2021.08.12 16:35:16
复制全文
我的收藏
有用
有用
无用
无用

缓存刷新概述

在火山引擎内容分发网络(CDN)中,每个被缓存的文件都有一个缓存过期时间。如果一个文件在缓存中未过期,但是源站上对应的文件已被更新,CDN 依然会将缓存的文件提供给用户。此时,如果您需要用户能获取源站上更新后的文件,您可以使用 CDN 提供的"缓存刷新"功能。

工作原理

您可以使用"缓存刷新"功能为特定文件或者目录提交刷新任务。

  • 文件刷新:CDN 会删除缓存中指定的文件。之后,当收到对这些文件的请求时,CDN 会向源站请求文件。
  • 目录刷新:CDN 会将指定目录下所有已缓存的文件,包括子目录中的文件,标记为已过期。当收到这些文件的请求时,CDN 会向源站发送文件校验请求。关于文件校验的流程,参见 缓存规则

适用场景

"缓存刷新"功能适用于以下场景:

  • 站点上有关键文件被更新,您需要用户能获取最新的文件。如果您站点上文件的更新频率是可预知的,建议您为站点文件 配置缓存规则
  • 源站上的特定文件由于某些原因需要被删除。但是,这些文件可能已被 CDN 缓存。您不希望用户访问到这些已被删除的文件。

最佳实践

CDN 可以与火山引擎函数服务配合使用,以实现以下功能:

注意事项

  • "缓存刷新"可以确保用户获取最新版本的文件。但是当您对一个文件提交刷新任务并且任务成功执行后,该文件的首次访问是无法获得加速效果。如果您需要该文件的首次访问能被加速,在刷新任务成功执行后,您可以使用 文件预热 功能。关于如何了解任务的执行状态,参见 操作记录
  • 在您提交刷新任务后,任务生效时间大约是 5 分钟。
  • 在您对大量文件提交刷新任务后,这些文件的首次请求都会触发回源请求。因此您的源站可能会在短期内承受流量压力,特别是在文件体积较大时。
  • 您不能直接对泛域名下的文件和目录执行刷新操作。具体操作方法,参见 如何对泛域名下的文件和目录执行刷新、预热、封禁和解封操作

刷新配额

您账号每日刷新配额如下:

  • 如果您刷新的是 URL,您每天最多可以刷新 10,000 个 URL。每个刷新任务中最多可以包含 100 个 URL。如果您需要调整这些额度,参见 配额管理
  • 如果您刷新的是目录,您每天最多可以刷新 50 个目录。

说明

刷新配额是主账号和子账号共用的。

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 刷新预热
  3. 刷新预热 页面,点击 缓存刷新 标签页。
  4. 按照 配置说明 进行操作。
  5. 点击 提交

Image

配置说明

配置

说明

任务类型

表示刷新任务的类型。该配置有以下选项:

  • URL 刷新:表示刷新的对象是一个或者多个文件。
  • 目录刷新:表示刷新的对象是一个或者多个目录。

您账号下每天可刷新的文件和目录的数量是有限额的。参见 刷新配额

前缀刷新

表示是否开启前缀刷新。该配置仅当 任务类型目录刷新 时才会出现,默认是关闭。

URL

表示需要刷新的 URL。该配置有以下取值:

  • 手动输入:表示手动输入那些需要刷新的 URL。
  • 上传文件:表示上传一个 .txt 文本文件,包含需要刷新的 URL。

URL 必须满足以下条件:

  • 如果 任务类型URL 刷新,您可以指定最多 100 个文件的 URL。文件 URL 必须满足以下条件:
    • 文件 URL 必须 以 https:// 或者 http:// 开头。
    • 多个文件 URL 以换行分隔。
  • 如果 任务类型目录刷新 时,有以下说明:
    • 如果 前缀刷新 未开启,您可以指定最多 100 个目录的 URL。目录 URL 必须满足以下条件:
      • 目录 URL 必须 以 https:// 或者 http:// 开头,并且以 / 结尾。
      • 多个目录 URL 以换行分隔。
    • 如果 前缀刷新 已开启,您可以指定最多 100 个用于匹配目录 URL 的前缀。例如 http://example.com/im 可用于匹配 http://example.com/image/http://example.com/imece

刷新 HTTP 请求头

对于待刷新文件的缓存键,该配置指定了缓存键中必须包含的请求头列表。

请求头有以下要求:

  • 您最多可以指定 10 个请求头。
  • 请求头不能为 User-Agent ,也不能以 x-bdcdn-Volc-Cdn 开头。
  • 请求头和请求头的值均不能超过 1,024 个字符。

此配置的常见使用场景如下:

  • 您使用规则引擎配置了参与缓存键构造的请求头列表。在执行刷新操作时,您希望只刷新缓存键中包含指定请求头的文件。

共享缓存场景下目录刷新的注意事项

假设出现以下场景:

  • 您对一个加速域名提交了目录刷新任务。为了后续描述方便,本文中我们称该域名为 "任务域名"。
  • 该任务域名在一个 共享缓存 配置中。

在该场景中,CDN 有以下行为:

  • 刷新该任务域名下的目标目录。之后,如果 CDN 收到该任务域名下目标目录中文件的请求,CDN 会向源站请求最新的文件来响应请求,并缓存最新的文件。
  • 不刷新共享缓存配置中其他域名下的目标目录。对于这些域名下的目标目录,当 CDN 收到目录中某个文件的请求时,会出现以下情况:
    • 如果 CDN 已经收到过对任务域名下同一文件的请求,由于 CDN 已经缓存了来自源站的最新文件,此时会使用最新的文件响应请求。
    • 否则,CDN 将使用缓存中已有的文件响应请求,而该文件不是最新的。

解决方法
对于共享缓存配置中的其他域名,您需要对每个域名下的目标目录都提交目录刷新任务。

白名单功能

您需要 提交工单 启用以下功能:

  • 强制删除
  • 正则刷新

强制删除

任务类型目录刷新 时,该配置会出现,用以指定是否删除已缓存的文件。

  • 默认情况下,当您提交目录刷新任务时,CDN 会将缓存中对应的文件标记为过期,而不是直接删除文件。当收到对这些文件的请求时,CDN 会向源站发送文件校验请求,而不是直接向源站请求文件。关于回源校验的更多信息,参见 缓存规则
  • 开启 强制删除 后,刷新任务会删除缓存中对应的文件。当收到对这些文件的请求时,CDN 会直接向源站请求文件。

正则刷新

在您指定文件 URL 时,您可以在 URL 中使用正则表达式来匹配需要刷新的文件。您可以输入一个或者多个 URL,多个 URL 使用换行分隔。每个 URL 不能超过 256 个字符。正则表达式在匹配时区分大小写。
您账号下每天可刷新 20 个包含正则表达式的 URL。您一次最多可以提交 10 个 URL。
在 URL 中,您可以指定的正则表达式有以下限制:

  • 正则表达式匹配的是文件路径和查询字符串,但不包含路径开头的 /。URL 的格式必须是 http://host/regex 或者 https://host/regex。其中,host 表示加速域名,regex 表示正则表达式。
  • 正则表达式中只能包含以下元字符:
    • [0-9]
    • [a-z]
    • [A-Z]
    • [a-zA-Z]
    • [^/]*
    • .*
    • [,?]
    • ?

注意事项

在您构建的包含正则表达式的文件 URL 中,除了路径开头的 /,整个路径都被认为是正则表达式。因此,只要正则表达式匹配了某个实际文件的 URL 中的部分路径,该文件就会被认为是匹配,从而被 CDN 刷新。
例如,https://www.example.com/dir2/.*\.js 可以匹配以下文件的 URL:

  • http://www.example.com/dir2/img1.js
  • http://www.example.com/dir2/img1.js?size=small
  • http://www.example.com/dir1/dir2/img1.js
  • http://www.example.com/dir1/dir2/img1.jsp

Image