您可以针对静态资源配置指定目录和文件后缀名的缓存过期时间和优先级,资源过期后,自动从CDN节点删除。通过本文,您可以了解资源在CDN上的缓存策略,以及缓存过期时间的配置方法。

背景信息

配置静态资源的缓存过期时间之前,建议您源站的内容不使用同名更新(即更新源站内容时采用不同的名称),而是以版本号的方式同步,即采用img-v1.0.jpgimg-v2.1.jpg的命名方式。

CDN节点上资源的缓存策略如下图所示。缓存策略
说明
  • 您的源站如果没有配置缓存过期时间,且源站和CDN上也没有配置缓存策略,则CDN采用默认缓存时长,CDN的默认缓存时间是3600秒。您成功添加加速域名后,可以修改默认缓存时间。设置的缓存时间长短会导致回源流量不一样,费用也有所不同,建议根据不同的业务需求设置缓存时长。缓存时间设置的过短,会导致CDN频繁回源,从而会增加源站的流量消耗。
  • Cache的默认缓存策略用于配置文件过期时间,在此配置的优先级高于源站配置。如果源站未配置Cache,则支持按完整目录或文件后缀名两种方式设置。
  • CDN节点上缓存的资源,可能由于热度较低而被提前从节点删除。
  • 在源站响应给CDN节点的内容里面携带了etag信息,并且客户端请求也有携带if-match信息的情况下,如果if-match值=etag值,CDN节点会将缓存的内容直接响应给客户端;如果if-match值≠etag值,CDN节点将会先回源获取最新的内容,然后将最新的内容响应给客户端,同时在CDN节点上用最新的内容替代原先旧的内容。即客户端请求中的if-match信息与缓存文件中的etag信息的校验优先级高于CDN节点上配置的缓存规则。

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击缓存配置
  5. 缓存过期时间页签,单击添加
  6. 配置缓存规则,您可以选择按目录或文件后缀名进行配置。
    缓存过期时间
    配置项 说明
    类型
    • 目录:指定路径下的缓存资源。
    • 文件后缀名:指定文件类型的缓存资源。
    地址
    • 添加单条目录(支持完整路径)时,须以正斜线(/)开头,例如/directory/aaa
    • 添加多个文件后缀名时,须以英文逗号(,)分隔,例如JPG,TXT
    过期时间 资源对应的缓存时间。过期时间最多设置为3年,建议您参照以下规则进行配置:
    • 对于不经常更新的静态文件(如图片类型、应用下载类型等),建议您将缓存时间设置为1个月以上。
    • 对于频繁更新的静态文件(如JS、CSS等),您可以根据实际业务情况设置。
    • 对于动态文件(如PHP、JSP、ASP等),建议您将缓存时间设置为0s,即不缓存。
    权重 缓存规则的优先级。
    说明
    • 取值范围:1~99间的整数。数字越大,优先级越高,优先生效。
    • 不推荐设置相同的权重,权重相同的两条缓存策略优先级随机。
    • 某一条缓存策略生效后,将不再匹配其他的缓存策略。
    示例:为加速域名example.aliyun.com配置三条缓存策略,缓存策略1优先生效。
    • 缓存策略1:文件名后缀为.jpg和.png的所有资源过期时间设置为1月,权重设置为90。
    • 缓存策略2:目录为/www/dir/aaa过期时间设置为1小时,权重设置为70。
    • 缓存策略3:完整路径为/www/dir/aaa/example.php过期时间设置为0s,权重设置为80。
  7. 单击确定
    您也可以单击修改删除,对当前配置的缓存策略进行相应操作。