功能介绍
缓存刷新是把CDN所有节点上对应的缓存资源标记为失效,当用户再次请求时,CDN会直接回源站获取对应的资源并返回给用户,同时将资源重新缓存到CDN节点。
刷新方式
刷新方式大致有三种:URL刷新、目录刷新和正则刷新。
1. URL刷新
对指定URL的资源进行刷新,当用户再次请求时,CDN直接回源。
示例:http://www.example.com/demo.jpg
2. 目录刷新
对指定目录的资源进行刷新。
不是真的去遍历一个目录下的资源并逐个刷新,而是将这次目录刷新规则记录下来。后续当用户再次请求时,CDN判断URL与目录刷新规则是否匹配,如果匹配了规则,则进行刷新。
示例:http://www.example.com/images/
3. 正则刷新
对符合该正则表达式的资源进行刷新。
示例:http://www.example.com/[a-z][0-9].*.jpg
正则刷新不是所有CDN厂商都支持的。
其实还有第四种:时间段刷新,对指定时间段的资源进行刷新。没有做过深入研究,目前未发现有CDN厂商提供该功能,所以不做过多解释。
刷新顺序
由于CDN是一个多级缓存架构,所以为了保证缓存能够刷新干净,必须要先从父节点开始,然后再对边缘节点进行刷新,主要是为了避免一个旧资源被刷掉后,又从父节点拿到旧的资源。
注意事项
- 缓存刷新会导致回源带宽和请求突增,增加源站的压力。
- 域名有开启共享缓存,使用主域名或其中一个关联域名来刷新即可。