更新时间:2021-06-09 16:23:00
缓存Key是网宿缓存资源的标识,除了URL路径信息不同可能会影响缓存(相关功能,如去问号缓存;HTTP/HTTPS共用缓存),网宿还提供自定义缓存Key功能,可以根据URL请求头或者请求头中的部分值计算缓存key,相同URL,请求头的值不一样,则缓存多份。
此配置项请谨慎使用,如配置不当会导致缓存文件增多,命中率降低。
登录网宿CDN控制台,选择域名所在的产品线。
选择域名,单击操作列中的 。
在自助配置界面选择缓存优化-自定义缓存key,单击添加。
配置生效范围:具体类型。此处提供3种生效范围供选择:
1) 指定常用类型: 全部文件、首页
- 全部文件: 表示该域名的所有请求资源在CDN节点都遵循相同的缓存规则。
- 首页: 表示仅针对http://domain/或https://domain/这种根目录格式的请求,都会遵循相同的缓存规则。
2) 指定文件类型。 网宿提供常用的文件类型供选择,也可以自行输入文件类型。匹配该文件类型的请求资源在CDN节点后遵循相同的缓存规则。
3) 指定URL。可以设定仅部分URL的请求资源在CDN节点都遵循相同的缓存规则。
4) 指定目录。可以设定仅部分目录下的请求,请求资源在CDN节点都遵循相同的缓存规则。
配置缓存Key的HTTP头
1) 此配置项用于配置请求头中哪些头部要参与缓存。 例如:配置cookie, 表示cookie值不同则缓存多份。
2) 每条缓存Key规则中头部只能配一个,若客户需要多个HTTP头参与缓存Key计算则可以配置多条缓存Key规则。详见场景三。
配置缓存Key的参数(头部值中带等号的情况下可按需配配置)
1) 例如,请求头为:cookie: userLanguage=es; eid=mx_1674690364390601; device_view=full,此处配置为userLanguage,表示根据cookie头部的userLanguage的值生成缓存key, 只有userLanguage的值不同时才会缓存多份。
2) 可以同时配多个,用英文分号分隔。
3) 默认为空,表示该头部的值只要有差异就会缓存多份。
配置完毕,单击确认,然后单击下一步。
为了避免影响线上业务,建议先预部署测试效果,单击预部署。
预部署成功后,可以获取到对应的测试节点,可以host节点进行测试。
Host测试后,确保配置无误,则单击直接部署,预计需要3-5分钟的部署时间。
场景一:只配置一个HTTP头,并且不填写头部参数
如上配置表示该Cookie头部的值只要有差异就会缓存多份
注意:实际上Cookie头部的值差异很大,如果用这种配置方式,极有可能导致命中率降低,回源量增多。 Cookie的配置建议参考场景二。
场景二:配置一个HTTP头,并且填写头部参数
如上示例表示只有Cookie头部中的userLanguage参与缓存。 如cookie: userLanguage=es; eid=mx_1674690364390601; device_view=full,则根据cookie头部的userLanguage的值生成缓存key, 只有userLanguage的值不同时才会缓存多份。
场景三:配置两个HTTP头。
若需要有两个头部共同控制缓存key,则可以配置两条缓存key规则。如下示例,只要Cookie或X-cache的值不同,则缓存多份。