缓存是CDN提供的最重要的一个功能, 终端用户仅需要访问最近的CDN节点即可获取静态内容, 并缓解源站的压力, 提升终端用户的访问体验。 所以我们建议接入CDN的域名,都需要根据业务的实际情况,设置缓存策略; 如果不设置任何缓存策略,会降低命中率,增大回源压力, 减少使用CDN的收益。
腾讯提供了动态加速ECDN和静态加速CDN两种解决方案。基于优化效果及成本考虑, 建议用户根据业务情况,把服务进行动静分离, 分别进行加速。CDN节点的静态缓存对象有如下3种:
•静态资源缓存:图像,文本,视频等非动态产生的资源
•访问头部缓存:保持源站回源头部和缓存服务器服务头一致
•状态码缓存:缓存非200的状态码,并由CDN 节点直接响应,减轻源站压力。
其中『静态资源缓存』是CDN发挥作用的最重要的功能,建议客户按业务需求设置。对于静态资源缓存控制主要有2个方面:
点击『域名管理』--》选中『缓存配置』tab页面, 其中"缓存键规则配置"就是控制什么样的URL进行缓存, "节点缓存过期配置"用来控制这些资源在CDN节点上的缓存时间。
url缓存规则配置有3个要素
忽略参数设置建议:
配置指南及相关的配置约束详情见配置约束
接入CDN以后,默认情况下会自动添加一个缓存的默认规则, 但这个不一定符合业务需求, 业务可以删除默认规则,自动添加符合自己业务情况的配置
节点缓存过期时间配置有2个要素
CDN缓存过期时间配置支持基础模式和高级模式,基础模式里只能设置缓存的时间,高级模式里的缓存选项还可以设置不缓存或遵循源站。存量若为节点缓存过期配置(旧)(即基础模式),按高级模式配置提交后将全面升级,不可恢复至原基础模式。
选项1:缓存
这里注意有一个『强制缓存』选项。
选项2:遵循源站缓存
如果选择遵循源站的缓存,并且源站返回的Response Header中有Cache-Control 则:
如果选择遵循源站的缓存,并且源站返回的Response Header中没有Cache-Control或Expires字段,并且没有开启启发式缓存,则CDN 节点不缓存资源。
如果选择遵循源站的缓存,并且源站返回的Response Header中没有Cache-Control或Expires字段,并且开启启发式缓存,则按照启发式缓存的规则进行缓存。
启发式缓存默认配置:如果源站响应头存在 Last-Modified,则默认缓存时间=(当前时间 - Last-Modified)* 0.1,如果源站响应头不存在 Last-Modified,则默认缓存时间为600s。
启发式缓存自定义策略:支持您自定义缓存时间
选项3:不缓存
配置了不缓存,则不缓存
更多关于节点缓存的配置约束见官方介绍节点缓存配置
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。