tencent cloud

文档反馈

节点缓存过期配置

最后更新时间:2022-09-15 16:11:38

    节点缓存过期配置可以设置源站资源在 CDN 节点的缓存过期时间,以调整源站资源在 CDN 节点缓存更新频率。您可以根据业务需求,按目录、文件后缀名、文件全路径配置资源的缓存过期时间。

    功能介绍

    CDN 会根据节点缓存过期配置的缓存过期时间,判断 CDN 节点的缓存资源是否过期。

    • 若用户访问的资源在 CDN 节点的缓存未过期,CDN 节点直接将缓存返回给用户;
    • 若用户访问的资源在 CDN 节点未缓存该资源或缓存已过期,则 CDN 节点会回源站获取最新资源并缓存到 CDN 节点,同时返回给用户。

    若源站资源更新后,需要立刻更新 CDN 节点的缓存,可使用 缓存刷新 功能主动更新 CDN 节点未过期的缓存,使 CDN 节点缓存与源站资源保持一致。

    注意事项

    • 缓存过期时间会影响回源频率,建议根据实际业务需求设置资源缓存时长。缓存过期时间过短,会导致 CDN 频繁回源,增加源站的带宽;缓存过期时间过长,会导致 CDN 缓存更新慢,影响用户获取最新的资源。
    • CDN 节点会按照 腾讯云 CDN 缓存规则及优先级 缓存资源。但 CDN 节点的缓存资源也可能因请求频率过低,在未达到缓存过期时间就提前从节点中删除。
    • 建议您源站资源更新前后使用不同的名称,如以版本号(img-v1.jpg、img-v2.jpg)的方式命名内容不同的资源,避免源站变更资源的内容后,CDN 节点因缓存未过期仍使用旧的资源返回给用户。
    • 若您仍使用旧版本(基础模式)的节点缓存过期配置,建议您按高级模式配置提交升级为最新版的节点缓存过期配置,以支持更多功能。需注意升级高级模式后不可恢复至原基础模式。旧版本的节点缓存过期配置文档查看:节点缓存过期配置 (旧)
    • 源站可通过设置响应头 Cache-Control 控制 CDN 节点的缓存过期时间(缓存选项为:遵循源站),同时 CDN 节点将 Cache-Control 响应头传递给用户,实现控制浏览器的缓存时间。若需要由 CDN 节点设置浏览器的缓存时间,可通过 浏览器缓存过期配置 修改 CDN 节点响应给用户的 Cache-Control 头部。

    配置说明

    操作流程

    1. 登录 CDN 控制台
    2. 单击左侧菜单内的域名管理,进入域名管理列表;
    3. 选择需要配置的域名,单击管理进入域名配置页面;
    4. 单击缓存配置,切换至缓存配置标签页,在标签页中,即可查看节点缓存过期配置

    5. 单击新增规则,可进入新增规则页面,新增节点缓存过期配置。

      配置项 说明
      类型 支持对全部文件、文件后缀、文件目录、全路径文件、首页进行配置:
      全部文件:指定全部文件设置规则,默认规则。
      文件后缀:指定文件的后缀设置规则。
      文件目录:指定文件的目录设置规则。
      全路径文件:指定文件的完整路径设置规则。
      首页:指定域名根目录设置规则。
      内容 根据选择不同的文件类型,内容输入约束:
      类型为全部文件时:固定为全部文件。
      类型为文件后缀时:支持输入文件后缀名,多个以 “;” 为间隔。例如,jpg;png;css。
      类型为文件目录时:支持输入文件目录,不能以 “/” 结尾,多个以 “;” 分隔。例如,/test;/a/b/c。
      类型为全路径文件时:支持输入文件完整路径,多个以 “;” 分隔。例如,/index.html;/test/.jpg。
      缓存选项 支持按照遵循源站、缓存、不缓存规则配置:
      遵循源站:按照源站响应头 Cache-Control 头部,设置 CDN 节点缓存时间,支持设置启发式缓存。
      缓存:自定义设置 CDN 节点的缓存时间,支持设置强制缓存。
      不缓存:设置 CDN 节点 不缓存资源。

    腾讯云 CDN 缓存规则及优先级

    缓存选项为:遵循源站

    CDN 节点将遵循源站响应头 Cache-Control 头部设置缓存时间。

    • 源站响应头 Cache-Control 字段为 max-age,按照 max-age 值设置 CDN 节点缓存时间,如 Cache-Control:max-age=300,则缓存时间为 300 秒;
      • 源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private,CDN 节点不缓存资源;
      • 源站响应头没有 Cache-Control 或 Expires 时,按照启发式缓存状态设置缓存规则,详情如下:
        • 关闭启发式缓存,当源站响应头没有:Cache-Control 或 Expires 时,则缓存时间为 600 秒。
        • 开启启发式缓存,当源站响应头没有:Cache-Control 或 Expires 时,按照如下规则设置启发式缓存时间:
          i. 默认配置:如果源站响应头存在 Last-Modified,则缓存时间=(当前时间 - Last-Modified)* 0.1,如果源站响应头不存在 Last-Modified,则默认缓存时间为 600 秒。

          ii. 自定义策略:可自定义设置启发式缓存的时间。

    缓存选项为:缓存

    自定义设置 CDN 节点的缓存时间。

    • 关闭强制缓存:
      • 源站响应头 Cache-Control 字段为 max-age 或 源站响应头没有 Cache-Control ,按照自定义 CDN 节点缓存规则缓存。
      • 源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private,CDN 节点不缓存资源

    • 开启强制缓存:忽略源站响应头Cache-Control ,按照自定义 CDN 节点缓存规则缓存。

    缓存选项为:不缓存

    设置 CDN 节点 不缓存资源。该资源的每个用户请求,CDN 节点都将直接回源获取资源响应给用户。


    多条缓存规则优先级

    若同时配置多条缓存规则时,底部规则优先级大于顶部规则。可通过单击调整优先级,拖动缓存规则顺序调整优先级。

    推荐配置

    • 不常更新的静态文件(例如,图片类型、应用下载类型等),建议设置30天。

    • 频繁更新的静态文件(例如,js、css等),建议根据业务的更新频率设置缓存时间。

    • 动态文件(例如,php、jsp、asp、aspx等动态文件),需设置不缓存

    • 其他涉及 站点登入(例如,wordpress 后台登入目录 /wp-admin)或 接口查询 等需要和源站直接交互的请求,需设置不缓存,否则可能导致访问错误。

      配置约束

    • 单个域名至多可添加100条缓存规则。

    • 多条缓存规则优先级:底部优先级大于顶部。

    • 单条文件后缀/文件目录/全路径文件规则中,至多可输入100组内容,不同内容之间用“;”分隔。例如:文件后缀 jpg;png。

    • 若您未配置任何规则或请求未命中配置的规则时,CDN 节点将遵循源站响应头 Cache-Control 头部设置缓存时间;若源站响应头没有 Cache-Control 字段,CDN 节点默认对该资源缓存600s。

    • CDN 节点仅缓存 GET、HEAD 请求类型的请求内容,其余 POST、OPTIONS 等请求类型的请求内容,CDN 节点不缓存。

    配置示例

    示例1

    原缓存规则为:php;jsp;asp;aspx文件后缀的资源不缓存,其余全部文件缓存30天。



    现需要增加:jpg、png文件后缀的资源缓存10天,且需要忽略源站响应头 Cache-Control ,即开启强制缓存;其余全部文件的缓存规则修改为遵循源站。

    1. 单击新增规则,类型为文件后缀,内容为jpg;png,缓存选项为缓存,缓存时间为10天,强制缓存为是,单击确定



    2. 选择全部文件的缓存规则,单击修改,修改缓存选项为遵循源站,单击确定



    3. 调整完成后的缓存规则为:

      • jpg、png 文件后缀的资源缓存10天,强制缓存;

      • php;jsp;asp;aspx 文件后缀的资源不缓存;

      • 其余全部文件缓存30天。



        则实际缓存情况如下:
      • www.test.com/abc.jpg 资源节点缓存时间为10天,即使源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private。

      • www.test.com/def.php 资源不会缓存至节点;

        示例2

    使用 WordPress 建站的节点缓存过期配置建议:

    • 后台登入地址/wp-admin目录下的资源,需要设置不缓存,否则会导致后台登入相关资源被缓存,登录出错。如果有其他接口相关的资源,同样需要设置不缓存。
    • php;jsp;asp;aspx 动态文件后缀的资源,需要设置不缓存(CDN 默认缓存规则);
    • html;js;css 后缀文件更新较频繁,需要根据更新频率设置缓存时间。建议设置缓存时间7天,不设置强制缓存;
    • 其余全部文件缓存30天(CDN 默认缓存规则)。

    在 CDN 默认缓存规则的基础下,按如下操作新增规则:

    1. 单击新增规则,类型为目录,内容为 /wp-admin,缓存选项为不缓存,单击确定

    2. 单击新增规则,类型为文件后缀,内容为 html;js;css,缓存选项为缓存,缓存时间为7天,强制缓存为否,单击确定

    3. 按照优先级顺序,底部优先级高于顶部,单击调整优先级,拖动"/wp-admin目录不缓存规则"规则调整至底部,使该规则优先级最高。

    4. 调整完成后的缓存规则为:
      • /wp-admin 目录下的所有资源不缓存;
      • html;js;css 文件后缀的资源缓存7天;
      • php;jsp;asp;aspx 文件后缀的资源不缓存;
      • 其余全部文件缓存30天。

    常见问题

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持