按标签刷新缓存

通过标签刷新缓存,您可以根据在HTTP响应头中定义的缓存标签来清除资源。如果当前站点下的缓存资源上记录的缓存标签响应标头与提交的标签相匹配,那么对应资源将被清除。

适用场景

缓存标签特别适用于清除聚合数据集或高度相互依赖的对象集合。在必须同时清除数以万计的对象的情况下,使用缓存标签tag进行清除尤为有价值。这种清除方式可以极大地简化并提高源端和边缘的内容管理效率。

例如,对于一个足球网站,其功能是向用户实时展示比赛得分、个人球员统计数据、实时联赛表、进球者排行榜以及其他各种属性的汇总球员和球队统计数据。通常情况下,每场比赛都需要清除多个相关对象的缓存,这些对象需要单独选择。随着不同球队参加不同的锦标赛和联赛,清除这些对象的操作变得越来越复杂。使用缓存标签可以为这些对象分配标签,从而实现更好的可管理性。现在,您可以使用团队名称或锦标赛名称来标记对象,以便同时清除与这些名称相关的所有内容,而无需陷入更加复杂的操作。

Cache-Tag限制说明

要使用按标签清除缓存功能,首先需要在HTTP响应头中添加 Cache-Tag。您可以在 HTTP响应头Cache-Tag中为您的网页内容添加缓存标签,以便让客户端和服务器在请求或响应中传递额外的信息。

限制

说明

Cache-Tag名称

  • 可以在站点维度上设置Cache-Tag名称。

  • 默认名称为Cache-Tag,不需要额外配置即可支持。源站直接带上该标签即可被识别(类似于Cache-Control的处理方式)。如果需要更改为其他名称,则需要联系我们进行额外配置。

  • Cache-Tag名称的总长度不超过16 KB。

Cache-Tag格式

名称与有效值使用英文半角冒号(:)分隔,例如:Cache-Tag: tag1,tag2,tag3

Cache-Tag值

  • 支持多个Cache-Tag值,多个值用英文半角逗号(,)分隔。

  • 单个缓存标签的最小长度为1字节。

  • 单个标签没有最大长度,但Cache-Tag值的所有字符总长度不能超过16 KB(长度包括空格和逗号,但不包括标头字段名称)。

  • Cache-Tag值包含的标签数不超过1000个。

  • Cache-Tag值只能包含UTF-8编码字符。

  • 默认情况下,Cache-Tag值区分大小写,但可以通过联系我们申请设置为不区分大小写。当设置为不区分大小写时,将会先转换为小写值,然后再关联缓存。

节点如何处理Cache-Tag

当您的请求到达ESA节点时:

  • 对携带HTTP响应头Cache-Tag 的内容关联上标签。

  • 在将响应发送给网站访问者之前,默认不删除标签HTTP响应头Cache-Tag ,最终用户会在网站(使用了站点加速)响应的资源上看到标签。

  • 删除标头以及缓存标记名称之前和之后的空格:tag1,tag2tag1,tag2被视为相同。

  • 在应用缓存标签之前删除所有重复和尾随的逗号:tag1,,,tag2tag1,tag2被认为是相同的。

操作步骤

  1. 登录ESA控制台

  2. 在左侧导航栏,单击站点管理

  3. 站点管理页面,单击目标站点名称,或对应站点操作列的详情

  4. 在左侧导航栏,选择缓存 > 刷新缓存

  5. 刷新缓存页签,配置刷新规则。

    • 刷新类型:选择标签

    • 刷新方法:支持标记过期直接删除两种方法。

      刷新方法

      说明

      标记过期

      如果用户请求的内容匹配到了待刷新的资源,ESA节点将会先回源获取资源的Last-Modified信息。若与当前缓存资源一致,则直接返回已缓存资源;若不一致,则回源拉取新资源返回给用户,并重新缓存该资源。

      直接删除

      如果用户请求的内容匹配到了待刷新的资源,ESA节点将会直接回源拉取新资源返回给用户,并重新缓存该资源。

    • 刷新内容:在输入框中输入待刷新的标签名称,使用英文半角逗号(,)分隔。示例:

      dog,cat,shop

    image

  6. 单击提交

  7. 查看刷新进度。

    提交刷新任务后,您可以在操作记录页签中查看资源刷新的详细记录和进度。刷新进度为100%,表示刷新任务执行完成。刷新数量多会影响刷新进度,请您耐心等待。

不同套餐的支持情况

限制

基础版

标准版

高级版

企业版

每日额度上限(单位:条)

不支持

不支持

不支持

30,000