智能CDN
启用智能CDN缓存后,您数据库中的资产元数据会同步至边缘节点。当资产发生变更或被删除时,缓存将自动重新验证。
此外,智能CDN通过屏蔽源站服务器对未修改资产的请求(即使URL中使用不同的查询字符串),实现了更高的缓存命中率。
智能CDN缓存功能在专业版及以上计划中自动启用。
缓存持续时间
启用智能CDN后,资产会在CDN上尽可能长时间地缓存。您仍可通过上传文件时的cacheControl
选项控制浏览器端缓存时长。智能CDN缓存适用于所有存储操作类型,包括签名URL。
当文件更新或删除时,CDN缓存会自动失效以反映变更(包括转换后的图像)。由于资产元数据需要全球数据中心同步,CDN缓存失效最多可能需要60秒。
当资产在CDN层面失效时,浏览器可能不会更新其缓存。这时就需要用到缓存驱逐机制。
缓存驱逐
即使资产在CDN层面被标记为失效,浏览器也可能不会刷新该资产的缓存。
对于频繁更新的资产,建议将新资产上传至不同路径。这种方法能确保您始终访问到最新版本的资产。
若预知资产可能被删除,建议通过cacheControl
选项设置较短的浏览器存活时间(TTL)值。默认TTL通常设为1小时,这在大多数情况下是合理的默认值。
绕过缓存
如果您需要确保资源直接从源服务器刷新并绕过缓存,可以通过在URL中添加唯一的查询字符串来实现。
例如,您可以使用类似/storage/v1/object/sign/profile-pictures/cat.jpg?version=1
的URL并设置较长的浏览器缓存时间(例如1年)。要更新图片时,只需递增URL中的版本查询参数,如/storage/v1/object/sign/profile-pictures/cat.jpg?version=2
。CDN会将其识别为新对象并从源服务器获取更新后的版本。