为了提高您CDN节点的缓存命中率,您可以配置静态资源的缓存过期时间和优先级。当资源过期后,资源会自动从CDN节点删除,从源站重新缓存至CDN节点。通过阅读本文,您可以了解资源在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节点上配置的缓存规则。
配置静态资源的缓存过期时间之前,建议您源站的内容不使用同名更新(即更新源站内容时采用不同的名称),而是以版本号的方式同步,即采用img-v1.0.jpg、img-v2.1.jpg的命名方式。CDN节点上资源的缓存策略如下图所示。
操作步骤
- 登录视频点播控制台。
- 在点播控制台左侧导航栏的配置管理区域,单击 ,进入域名管理页面。
- 选择您要配置的域名,单击配置。
- 单击缓存过期时间页签,单击添加。 ,在
- 配置缓存规则,您可以选择按目录或文件后缀名进行配置。配置项和说明如下表所示。
配置项 说明 类型 - 目录:指定路径下的缓存资源。
- 文件后缀名:指定文件类型的缓存资源。
地址 - 添加单条目录(支持完整路径)时,须以正斜线(/)开头,例如/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。
- 单击确定完成配置。