新用户新用户即享 DNS 与 CDN 免费套餐。立即注册

缓存与清除

配置边缘缓存、浏览器缓存、缓存键与负缓存,并按 URL、通配符或全站清除缓存。

7 分钟阅读 更新于 2026年10月6日

缓存设置位于站点详情页的 缓存 标签页(/cdn/domains/<域名>/cache),对站点下所有主机名生效。修改后点击页面底部的 保存设置;需要立即让新内容生效时,使用右上角的 清除缓存。

边缘缓存

设置说明
边缘缓存自动:根据源站响应头判断是否缓存;启用:开启缓存;禁用:不在边缘缓存任何内容。
源站故障时返回过期缓存源站超时或返回 500/502/503/504 时,返回已过期的缓存而不是错误页面。默认开启。
缓存时间模式决定缓存时长如何计算,见下表。
缓存时间(秒)与缓存时间模式配合使用的配置值。页面提供 1 小时、1 天、7 天三个推荐值。

缓存时间模式:

模式行为
跟随源站或默认优先使用源站 Cache-Control / Expires 给出的时间;源站未给出时使用配置值。
固定忽略源站给出的时间,始终使用配置值。
跟随源站完全遵循源站;源站没有给出可缓存的指示时不缓存。
取最小值 / 取最大值在源站时间与配置值之间取较小 / 较大者;源站未给出时使用配置值。

按文件类型缓存

在 按文件类型缓存 中可以为扩展名设置缓存时间(如 jpg,png,gif 缓存 7 天)。当源站响应没有给出明确的缓存时间(max-age、s-maxage 或 Expires)时,边缘按扩展名使用该时间;源站已明确指定时以源站为准。

始终不会被缓存的响应

无论如何设置,下列响应都不会进入边缘缓存:

  • 源站返回 Cache-Control: no-store 或 private;
  • 响应带有 Set-Cookie;
  • 206 Partial Content(Range 请求)响应;
  • GET、HEAD 以外的请求。

浏览器缓存

浏览器缓存 控制边缘是否为浏览器补充 Cache-Control 头:

  • 启用:对于边缘实际缓存了的响应,如果源站没有返回 Cache-Control,边缘会添加 Cache-Control: public, max-age=<该响应在边缘的缓存时间>,使浏览器缓存时间与边缘保持一致。
  • 自动 / 禁用:边缘不添加浏览器缓存头。

无论哪种设置,源站自己返回的 Cache-Control 都会原样传给浏览器;边缘没有缓存的响应(例如动态接口)、非 GET/HEAD 请求、状态码 400 及以上、带 Set-Cookie 的响应都不会被添加浏览器缓存头。这样可以避免动态内容被浏览器长期缓存。

Tip

想让浏览器对静态资源缓存更久,最可靠的方式是在源站为这些资源返回明确的 Cache-Control: max-age=...。

缓存键

缓存键决定哪些请求共用同一份缓存。页面下方的预览会实时展示当前配置下缓存键由哪些部分组成。

Query String处理模式:

模式行为示例
标准原样保留全部查询参数?a=3 与 ?a=4 是两份缓存
忽略忽略全部查询参数?a=3 与 ?a=4 命中同一份缓存
排序参数按名称排序后全部纳入?b=2&a=1 与 ?a=1&b=2 命中同一份缓存
白名单只保留列出的参数填写 id,page
黑名单排除列出的参数填写 utm_source,utm_medium,ref

白名单 / 黑名单的参数名用逗号分隔。

其他维度:

  • 按设备类型区分:移动端与桌面端分别缓存。
  • 按国家区分:按访客所在国家 / 地区分别缓存。
  • 按语言区分:按 Accept-Language 分别缓存。
  • 缓存主机模式:缓存键中使用的主机名来源,可选「原始请求」(访客请求的 Host,默认)、「解析后」(站点匹配到的主机名)或「Host头」(回源时使用的 Host)。
Note

每增加一个区分维度,同一 URL 就可能产生多份缓存,命中率会相应下降。只开启确实需要的维度。

高级缓存 / 负缓存

设置说明
按状态码缓存(负缓存)为特定状态码(如 404、301)单独设置缓存秒数,优先级高于其他缓存时间设置。可避免错误响应被反复回源。
最小缓存时间 (min_ttl) / 最大缓存时间 (max_ttl)对最终缓存时长设置下限 / 上限,0 表示不限制。
故障宽限 (stale_if_error)源站故障时,在该秒数窗口内继续返回过期缓存。
带 Authorization 不缓存请求带 Authorization 头时跳过缓存,直接回源。
尊重客户端 no-cache客户端请求带 Cache-Control: no-cache 时跳过缓存。
绕过缓存的会话 Cookie请求带有列出的 Cookie(如 session、token)时跳过缓存。

回源防护 / Origin Shield

回源最大并发 限制单个站点同时回源的请求数(0 表示不限制)。超过上限时按 超限动作(阶梯) 依次处理:优先返回缓存(cache_first)→ 排队等待(queue,可设置队列长度上限与等待毫秒数)→ 人机挑战(challenge)→ 直接拦截(block,按 Retry-After 返回重试时间)。适合保护承载能力有限的源站。

清除缓存

修改缓存设置不会让已有缓存立即失效。要让边缘重新回源获取最新内容:

  1. 在 缓存 标签页右上角点击 清除缓存(域名管理 列表和 概览 页也提供一键清除全站缓存)。
  2. 选择清除方式:
    • 清除全站缓存:清除该站点的全部缓存。
    • 按 URL 清除:每行填写一个 URL,可以是完整 URL(https://example.com/css/app.css)或路径(/css/app.css)。
  3. 点击 确认清除。

按 URL 清除的规则:

  • 带查询参数(如 /list?page=2):只清除该参数组合对应的那一份缓存(会按站点的 Query String 处理模式归一后匹配)。
  • 不带查询参数(如 /list):清除该路径下所有查询参数变体。
  • 通配符:单独填写一行含 * 的地址,可按模式清除,例如 https://example.com/static/* 清除该目录下的全部内容。如果多行中含有 *,会改为清除全站缓存。

清除请求提交后会异步下发到所有边缘节点,通常在数秒内完成。提交后可以用 curl -I 检查响应头 X-Cache-Status,首个请求应为 MISS。

Warning

清除全站缓存后,短时间内所有请求都会回源,源站负载会明显上升。只更新了少量文件时,优先按 URL 清除。

相关文档

本页内容是否有帮助?