配置自定义缓存键(Cachekey),开发者可以根据用户请求中的不同部分(例如查询字符串、HTTP请求标头或者Cookie等)制定规则来生成Cachekey,将访问同一个文件的一类请求转化为统一的Cachekey,避免将同一类请求缓存为不同文件的问题,从而提高缓存的命中率,降低回源率,减少请求的响应时间和带宽消耗。
背景信息
自定义Cachekey功能不会修改回源的URL,仅会修改请求的缓存标识,回源的请求和客户端发起的请求内容保持一致。
Cachekey是一个文件在ESA节点上缓存时唯一的身份ID,每个在ESA节点上缓存的文件都对应一个Cachekey。文件的Cachekey默认为客户端请求的URL(带参数)。
使用场景
操作步骤
登录ESA控制台。
在左侧导航栏,单击站点管理。
在站点管理页面,单击目标站点名称,或对应站点操作列的详情。
在左侧导航栏,选择
。单击新增规则,填写规则名称。
在当请求匹配以下规则时...区域设置要匹配的用户请求特征,具体配置规则请参见规则。
在绕过缓存区域,设置是否绕过缓存,具体请参见绕过缓存。
在自定义Cachekey区域,单击配置,设置以下参数。
参数
说明
对查询字符串排序
选择是否开启对查询字符串排序功能,详情请参见查询字符串排序。
查询字符串
设置去除请求URL中携带的
?
以及?
之后的查询字符串,详情请参见查询字符串。HTTP请求标头
包括这些标头名称及其值:指定的HTTP请求标头名称及其值将会加入Cachekey。
检查是否存在:检查指定的HTTP请求标头是否存在。如果存在,把HTTP Header名称加入Cachekey。
Cookie
包括这些Cookie名称及其值:指定的Cookie参数名称及其值将会加入Cachekey。
检查是否存在:检查指定的Cookie参数是否存在;如果存在,把Cookie参数名称加入Cachekey。
用户
设备类型:根据客户端User-Agent信息来识别客户端类型,然后根据客户端类型来生成Cachekey。
国家/地区:根据客户端IP来识别客户端所在的国家/地区,然后根据国家/地区来生成Cachekey。
语言:根据客户端请求中携带的Accept-Language信息来识别客户端语言,然后根据语言类型来生成Cachekey。
单击确定。
配置示例
示例场景 |
|
功能配置 |
|
生成Cachekey | 每个参数生成的Cachekey片段为:
所以,实际拼接生成的Cachekey为: |