# 清除 Kapsule CDN 缓存

Source: https://support.kapsulehost.com/zh-cn/cdn-cache-purge

清除缓存会删除边缘保存的内容副本，使下一位访客获得从您的源站重新获取的版本。当您已发布更改但旧版本仍在显示时，就需要这样做。

缓存让 CDN 变得快速，也正是因为缓存，您刚做的更改可能不会立即显示。与其把缓存时长降到零，不如保持较长的缓存时长，并在需要时清除缓存。本指南介绍这两方面，以及如何在找错地方之前区分边缘缓存和浏览器缓存。

## 何时需要清除缓存

在更改了访客通过 URL 获取的内容之后，请清除缓存：

- 您替换了 CSS 或 JavaScript 文件，但仍在提供旧文件。
- 您用相同的文件名上传了图片的新版本。
- 您修复了页面上的错误，希望有问题的版本立即在全球范围内消失。
- 您更改了页面内容，无法等待边缘 TTL 到期。

如果您添加的是全新页面或新文件名，则无需清除缓存。从未被请求过的 URL 在缓存中没有任何内容。

> **Tip:** 如果您在资源文件名中加入版本号（使用 `style.a1b2c3.css` 而不是 `style.css`），就几乎不需要清除缓存。新文件名就是新 URL，因此会从您的源站重新获取，并以自己的键进行缓存。

## 清除缓存的位置

1. 登录 [KPanel](https://kpanel.kapsulehost.com)。
2. 在左侧边栏中点击 **网站**，然后点击您的网站。
3. 在网站菜单中，依次打开 **性能** 和 **Kapsule CDN**。
4. 滚动到 **清除缓存** 卡片。

直接地址为 `/websites/<site-id>/cdn`。

![Kapsule CDN 页面上的清除缓存卡片](https://support.kapsulehost.com/help/screenshots/cdn-cache-purge.881b7fa3.webp)

> **Note:** 只有在网站的 CDN 开启后，才会显示清除缓存的控件。如果页面显示 **此站点的CDN已关闭** 横幅，或提示您连接自定义域名，则边缘上还没有可清除的内容。[在您的网站上启用 Kapsule CDN](https://support.kapsulehost.com/zh-cn/cdn-enabling) 准确列出了哪些套餐包含它。

## 清除单个 URL

1. 在 **清除缓存** 卡片中，将完整的公开 URL 输入 **要清除的URL（留空则清除整个网站）** 字段。字段中的示例文本显示了预期格式：`https://your-domain.tld/path`。
2. 点击 **清除**。
3. 随后会出现一条确认消息，表明您输入的 URL 已被清除。

请使用访客会请求的准确 URL，包括协议（`https://`）、主机和路径。清除操作按 URL 匹配，因此 `https://example.com/about` 和 `https://example.com/about/` 是两个不同的缓存条目，附加了查询字符串的同一页面也是如此。

当您确切知道哪些内容发生了变化时，清除单个 URL 是正确的第一步。它会立即生效，并保持其余缓存不变，因此网站的其他部分依然快速。

## 清除整个网站

1. 将 **要清除的URL** 字段完全留空。
2. 点击 **清除**。
3. 确认消息为"完整缓存已清除。"

> **Warning:** 完整清除会清空网站在每个边缘位置的所有缓存对象。在每个 URL 被再次请求之前，每位访客都将由您的源站提供服务，因此源站会承受突发流量，每个页面的第一位访客都要等待一次完整的往返。对于访问量大的网站，最好只清除您更改过的特定 URL。

您执行的每次清除都会记录在账户的活动日志中，并附有 URL 或整个区域的标记，便于您查看谁在何时清除了什么。

## 缓存时长及其相互关系

同一页面上的 **缓存 TTL** 卡片控制内容在不清除的情况下能保留多久：

| 设置 | 控制内容 | 默认值 |
|---|---|---|
| **边缘 TTL（秒）** | 边缘保存副本多久后再从您的源站重新获取 | 3600（1 小时） |
| **浏览器 TTL (秒)** | 访客的浏览器保留其本地副本的时长 | 3600（1 小时） |

这两者相互独立，这也是最常见的困惑来源。清除操作清除的是 **边缘**，无法触及访客的浏览器。如果您清除后自己仍看到旧版本，几乎可以肯定您看到的是自己浏览器的缓存。

要排除这种情况，请在隐私窗口或无痕窗口中加载页面，或执行强制刷新。如果隐私窗口显示了新版本，说明清除已经生效，您只需等待自己的浏览器和其他访客的浏览器更新，它们会在各自的浏览器 TTL 到期后刷新。

> **Tip:** 如果您经常发布内容且无法在文件名中加入版本号，请将 **浏览器 TTL (秒)** 调低（几分钟），并保持 **边缘 TTL（秒）** 较长。这样既能保留边缘的大部分优势，又能大大缩短访客停留在旧副本上的时间。

## 图片优化与清除缓存

如果开启了 **即时图片优化**（Kapsule CDN+ 功能），边缘会在原图旁保存每张图片的优化版本。清除图片 URL 时也会清除优化版本，因此替换后的图片会在下次请求时重新优化。优化后的图片没有单独的清除操作。

**向支持的浏览器提供 WebP** 也是如此：WebP 版本位于同一 URL 下，会被同一次清除操作清除。

## 故障排除

**"未为此网站配置 CDN"** 网站还没有边缘区域。请先启用 CDN，并等待证书完成配置。

**"清除失败。"** 清除请求没有到达边缘。请稍等片刻后重试。如果仍然失败，边缘区域可能仍在配置中；请确认页面显示 **CDN 已启用** 横幅。

**我清除了缓存，但页面仍是旧的。** 请先在隐私窗口中检查。如果隐私窗口也显示旧版本，请确认您清除的是准确的 URL，包括末尾的斜杠和查询字符串，然后尝试完整清除。

**只有部分访客看到了更新。** 他们的浏览器仍处于浏览器 TTL 期限内。这不是问题：TTL 到期后，或执行强制刷新后，他们会立即获得新版本。

**完整清除后源站崩溃了。** 这就是上文所述的未缓存流量突增。请提高边缘 TTL，下次只清除发生变化的 URL。[提升网站速度](https://support.kapsulehost.com/zh-cn/website-speed) 介绍了如何让源站本身更加稳健。

如果清除成功，但边缘在几分钟后仍继续提供旧内容，请发送电子邮件至 [support@kapsulehost.com](mailto:support@kapsulehost.com)，并附上准确的 URL 和清除时间。
