Loading
B2C Commerce 入门
eCDN 缓存规则和缓存清除

eCDN 缓存规则和缓存清除

缓存规则控制哪些内容有资格在 eCDN 边缘进行缓存,缓存清除会按标记或路径选择性地使缓存内容失效。这两种功能在 Business Manager 中都可用于您的 B2C Commerce 网店。

使用缓存规则控制哪些内容有资格在 eCDN Edge 上进行缓存。默认情况下,eCDN 仅缓存基于文件扩展名的静态内容,不缓存 HTML 页面或 JSON 响应。缓存规则使 HTML 页面和 JSON 响应符合边缘缓存的条件,这是按特定标记或路径使用缓存清除的先决条件。

使用“ 清除 缓存”按钮,直接从 Business Manager 使用缓存清除按钮,通过缓存标记或路径有选择地使缓存内容失效。

这两项功能以前只能通过 CDN API 使用。它们是 Business Manager 中的自助服务。

重要
重要 缓存规则使内容符合缓存条件,但不会强制缓存。您的源仍必须为要缓存的合格内容返回适当的 缓存控制 (或 过期 )响应标头。

缓存规则和缓存清除可用的地方

要配置缓存规则并清除缓存,请在 Business Manager 中,转到 管理 | 站点 | 嵌入式 CDN 设置 ,然后为所需的区域选择配置 区域。缓存规则和 “清除缓存 ”按钮在这些区域类型的区域范围内可用。

区域类型 实例组 缓存规则 缓存清除
网店区域 PIG(生产、准备和开发) 可用 可用
默认区域 PIG 可用 可用
ODS 默认区域 SIG(On-Demand Sandboxes) 可用 可用
SCAPI 区域 — 不可用 在生产环境 (Production) 中可用(标记和路径)

SCAPI 区域有何不同

对于 SCAPI 区域,只能从生产环境 (Production) 实例进行缓存清除,并且不会公开缓存规则。此行为是故意的。有一个用于开发、准备和生产的 SCAPI 区域。该区域不会出现在 Business Manager 或开发或准备环境 (Staging) 的 CDN API 中。有关完整的 SCAPI 区域控制矩阵,请参阅 B2C Commerce 的 SCAPI 区域支持。

  • SCAPI 缓存是一种平台管理的功能。为防止更改 SCAPI 缓存行为,对这些区域禁用了缓存规则自助服务。
  • SCAPI 工作线程在缓存响应时自动设置缓存标记。您不必自行定义 SCAPI 区域的标签。
  • ecom 端 (JWA) 失效流同步 SCAPI 缓存失效。
  • 按标签或从生产环境实例中的路径清除 SCAPI 区域内容。

eCDN 如何决定要缓存的内容

了解缓存决策有助于编写有效的规则。

默认情况下,如果未配置缓存规则,则 eCDN 仅按文件扩展名进行缓存。常见的静态扩展名(图像、JS、CSS、字体、视频、文档和存档)都会被缓存。默认情况下,eCDN 不缓存 HTML、JSON、XML 或 TXT 响应( robots.txt除外)。最大可缓存对象大小为 5 GB。

仅当所有这些条件都为真时,才会缓存响应。

  • 请求方式为 GET。
  • 响应没有 Set-Cookie 标头。
  • 响应具有 max-age > 0 的 Cache-Control: public 或未来的 Expires 日期。当存在多个值时,优先级是 s-maxage ,然后是 max-age ,然后是 Expires。

如果满足上述任一条件,则不会缓存响应。

  • Cache-Control 为 私有、 无存储、 无缓存 或 max-age=0。
  • 不存在 Cache-Control 标头。
  • 存在 Set-Cookie 标头。
  • 请求方法不是 GET。
备注
备注 缓存规则仅使原本不可缓存的内容类型(HTML 或 JSON)符合条件。源标头规则仍然适用。

最佳实践

  • 特意缓存 HTML 和 JSON。只有当响应真正在购物者之间共享且可以安全缓存时,动态内容才符合条件。切勿缓存个性化或经过身份验证的响应。确保这些响应带有 Set-Cookie 或 Cache-Control: private。
  • 使用缓存标记进行协调失效。使用共享标签(例如,按产品、分类或内容素材)标记相关内容,以便您可以在一个请求中清除逻辑组,而不是列出路径。
  • 从缓存键中排除跟踪参数(例如 gclid 和 utm_campaign ),以最大限度地提高缓存命中率。
  • 使用 Cf-Cache-Status 响应标头验证缓存。HIT 值确认边缘缓存。值 MISS 或 DYNAMIC 表示内容不是从缓存提供的。
  • 首先在沙盒中测试。ODS 默认区域支持缓存规则和清除,因此您可以在沙盒上验证规则行为,然后再将其应用于生产环境。

疑难解答

内容未按预期进行缓存?检查,按顺序:

  1. Origin headers — 响应是否发送 Cache-Control: public, max-age>0 (or a future Expires)?
  2. Set-Cookie — Set-Cookie 标头禁止缓存。对于可缓存的响应,请将其删除。
  3. 请求方法 — 仅缓存 GET 。
  4. 表达式准确性 — 规则表达式是否真的与请求路径/扩展匹配?
  5. 规则已启用?— 确认规则的 Enabled 标志已启用。
  6. Cf-Cache-Status 标头 — HIT vs MISS/DYNAMIC 告诉您是否从缓存提供边。
  • 创建 eCDN 缓存规则
    创建缓存规则,使 HTML 页面和 JSON 响应有资格在 B2C Commerce 网店的 eCDN 边缘进行缓存。默认情况下,eCDN 仅根据文件扩展名缓存静态内容。
  • 清除 eCDN 缓存
    直接从 Business Manager 通过缓存标记或路径有选择地使缓存内容失效。点击 B2C Commerce 网店的 清除缓存 。
 
正在加载
Salesforce Help | Article