跳转到内容
搜索文档

按 cache-tags 清除缓存

最后更新 查看 MarkdownAgent 设置

Cache-tag 清除使多文件清除更容易,因为您可以向资源(如网页、图片文件等)添加 cache-tags 以立即批量清除。

cache-tags 的一般工作流程

  1. 从源站 Web 服务器向 Web 内容添加 Cache-Tag HTTP 响应标头,如页面、静态资源等。
  2. 确保 Web 流量通过 Cloudflare 代理
  3. Cloudflare 将 Cache-Tag HTTP 标头中的标签与正在缓存的内容关联。
  4. 使用特定 cache-tags 从仪表板或使用 API 立即清除 Cloudflare CDN 缓存中包含该 cache-tag 的所有内容。
  5. Cloudflare 强制对包含已清除 cache-tag 的内容进行缓存 MISS

添加 Cache-Tag HTTP 响应标头

您在 Web 内容的 Cache-Tag HTTP 响应标头中添加 cache-tags,以允许客户端和服务器在请求或响应中传递附加信息。HTTP 标头由特定的不区分大小写的名称后跟冒号 : 和有效值组成,例如 Cache-Tag:tag1,tag2,tag3。当您想使用多个 cache-tags 时,用逗号分隔标签。

当内容到达我们的边缘网络时,Cloudflare:

  • 在将响应发送给网站访问者或将响应传递给 Worker 之前,移除 Cache-Tag HTTP 标头。最终用户或 Worker 永远不会在 Cloudflare 启用的网站上看到 Cache-Tag HTTP 标头。
  • 移除标头中的空格以及 cache-tag 名称前后的空格:tag1tag2tag1,tag2 被视为相同。
  • 在应用 cache-tags 之前移除所有重复和尾随逗号:tag1,,,tag2tag1,tag2 被视为相同。

需要记住的几件事

  • 单个 HTTP 响应可以有多个 Cache-Tag HTTP 标头字段。
  • cache-tag 的最小长度为一个字节。
  • 单个标签没有最大长度,但聚合 Cache-Tag HTTP 标头在标头字段名称后不能超过 16 KB,大约 1,000 个唯一标签。长度包括空格和逗号,但不包括标头字段名称。
  • 对于缓存清除,API 调用中 cache-tag 的最大长度为 1,024 个字符。
  • Cache-Tag HTTP 标头必须仅包含可打印的 ASCII 编码字符。
  • cache-tags 中不允许空格。
  • 大小写不敏感。例如,Tag1tag1 被视为相同。

使用 cache-tags 清除

  1. 在 Cloudflare 仪表板中,前往 Configuration(配置) 页面。

    Go to Configuration ↗
  2. Purge Cache(清除缓存) 下,选择 Custom Purge(自定义清除)Custom Purge(自定义清除) 窗口将出现。

  3. Purge by(按以下方式清除) 下,选择 Tag(标签)

  4. 在文本框中,输入用于清除缓存资源的标签。要清除多个 cache-tagged 资源,用逗号分隔每个标签或每行一个标签。

  5. 选择 Purge(清除)

有关速率限制的信息,请参阅可用性和限制部分。

结果缓存状态

按标签清除会删除资源,导致后续请求的 CF-Cache-Status 标头设置为 MISS

如果使用 Tiered Cache,按标签清除可能返回 EXPIRED,因为下层尝试与上层重新验证以减少后者的负载。 取决于上层是否有资源以及最终用户是否到达下层或上层,将返回 EXPIREDMISS

这篇文档对您有帮助吗?