为什么配置的缓存规则没生效
问题现象
某用户已经针对“.jpg”格式的文件配置了缓存规则,缓存过期时间设置为90天。预热图片1.jpg后,客户端访问1.jpg发现并未命中缓存。
可能的原因及应对措施
- 缓存规则配置生效大约需要5分钟时间,请您在规则生效后再预热资源,然后验证是否命中缓存。
- 检查您的缓存过期时间是否设置的过小:缓存过期时间设置的太小就会导致频繁回源,如图1所示,请合理设置缓存过期时间。
- 缓存规则有优先级(数值越大优先级越高),优先级较高的会优先匹配,请检查您的缓存规则优先级。
配置示例:某客户为域名www.example.com配置了文件名后缀为.jpg的规则,希望缓存过期时间为1天,优先级为2。
图2 缓存规则配置
配置结果:当用户访问www.example.com/test/cdn.jpg文件时,有两条规则包含了此文件:文件名后缀、全路径,但是由于全路径的优先级为3,优先级较高,所以系统最终匹配全路径/test/*.jpg这条规则,缓存时间为3秒。
调整方法:如果想要.jpg这条文件名后缀的规则优先生效,需要将优先级调整为大于3的数值。
- 如果.jpg这条缓存规则开启了“缓存遵循源站”功能,当源站设置了no-cache、private、no-store时CDN节点不缓存源站资源,用户每次访问都需要回源,此时您需要关闭“缓存遵循源站”功能。