本文档主要介绍火山引擎内容分发网络(CDN)中的"共享缓存"功能。
该功能目前以白名单的方式对外开放。如果您需要此功能,请提交工单。
"共享缓存"允许多个加速域名共享同一份缓存。在 CDN 中,您可以创建一个或者多个共享缓存配置。在一个共享缓存配置中,您需要指定"配置域名"以及"目标域名"。指定的"配置域名"将共享"目标域名"的缓存。
"共享缓存" 适用于以下场景:
您的多个域名下的文件完全相同。为了降低 CDN 向源站请求文件的次数,您可以对这些域名配置"共享缓存"。
您的站点有多个面向不同用户分发渠道的域名。这些域名所分发的内容是相同的。
当您添加、修改或删除一个共享缓存配置后,"配置域名"请求的缓存命中率可能会下降。具体原因参见 "共享缓存" 的工作方式。请谨慎操作。
在您创建了一个共享缓存配置后,如果收到某个"配置域名"的一个请求,CDN 按以下流程处理该请求:
根据"配置域名"下的缓存规则,确定请求的文件是否需要被缓存以及缓存的时长。 如果文件不需要被缓存,CDN 向"配置域名"的源站请求该文件,然后使用该文件响应这个请求。流程结束。
如果文件需要被缓存,CDN 会将请求的文件 URL 中的域名替换成"目标域名",然后在缓存中查找请求的文件。 如果在缓存中没有找到该文件,转到第 4 步。
如果在缓存中找到了该文件,CDN 会使用步骤 1 中获取的缓存时长来判断缓存的文件是否已经过期。 如果文件没有过期,CDN 使用该文件响应这个请求。流程结束。
如果文件已经过期或者 CDN 没有在缓存中找到该文件,CDN 会向"配置域名"的源站请求该文件。
从源站获取文件后,CDN 将该文件作为"目标域名"的文件进行缓存。流程结束。
"共享缓存"配置会对边缘节点的缓存造成影响,请谨慎进行创建,删除和修改操作。在操作前,请务必阅读注意事项。
如果某个域名已被设置为其他域名的"目标域名",您无法在任何的共享缓存配置中将该域名设置为"配置域名"。
"配置域名"和"目标域名"必须在同一个主账号下。
"目标域名"不能是泛域名。
登录 火山引擎内容分发网络控制台。
在左侧导航栏,点击 配置优化。
在 域名共享缓存 页面,点击 配置共享缓存。
在 配置共享缓存 页面,指定一个目标域名,指定一个或者多个"配置域名",然后点击 提交。
指定的"配置域名"会共享"目标域名"的缓存。
在您点击 提交 后,您创建的一个共享缓存配置就出现在列表中。
在您创建和修改一个共享缓存配置前,建议将"配置域名"与"目标域名"设置成使用相同的源站配置以及缓存键值配置。在共享缓存配置生效后,缓存命中率可以得到提升,也避免出现不正确的缓存文件的情况。
对于"配置域名"的请求,CDN 在缓存中查找文件时,查找的是目标域名下的文件,而非配置域名下的文件。短期内,对于"配置域名"的请求,缓存命中率可能会下降。
在您创建一个"共享缓存"配置后,"配置域名"的缓存就失效了。在您删除一个"共享缓存"配置后,"配置域名"的缓存需要重建。
建议共享缓存配置中的域名使用相同的源站配置。如果不相同,可能会出现以下情况:
建议"配置域名"的缓存键值配置与"目标域名"的相同,以提升缓存命中率。