七牛 | 刷新缓存的方法

  • 内容
  • 相关

今天把『大学毕业留念册』,弄成了网页版,当中也是修修改改的,但是覆盖的文件并没有生效,其导致原因的“罪魁祸首”就是七牛的CDN缓存造成的。

解决这个问题主要有主动提交刷新缓存请求和通过携带随机 URL 参数刷新

一、提交刷新请求的方法有三种

1.在 七牛开发者中心 左侧产品列表中找到融合 CDN ,进去后点击“刷新预取”。按要求填写需要刷新的 URL,点击提交即可。

2.工具刷新

使用七牛云提供的 qshell 命令行工具,参考使用文档,先设置密钥,然后执行 cdnrefresh 命令来刷新缓存。

3.通过API 接口提交刷新请求

七牛各服务端的 SDK 都提供了刷新缓存的方法。

二、通过携带随机 URL 参数刷新

实现方法:

例如,如果 http://odum9helk.qnssl.com/resource/gogopher.jpg 这个图片资源没有更新,可以在该 URL 后面加上问号随机参数的形式来让 CDN 强制刷新:http://odum9helk.qnssl.com/resource/gogopher.jpg?v=1234567 ,CDN 拿到这个 URL 后会强制回源站中取回最新的资源。

实现原理:

如果域名没有开启忽略 URL 参数,那么在 CDN 节点上,对于:

http://odum9helk.qnssl.com/resource/gogopher.jpg

http://odum9helk.qnssl.com/resource/gogopher.jpg?v=1

http://odum9helk.qnssl.com/resource/gogopher.jpg?v=2

这三个 URL 是独立缓存的。所以,如果携带之前没用过的参数访问,CDN 会强制回源站中取回最新的资源。

注意事项:

1.关闭忽略 URL 缓存的域名,才可以使用这种方法刷新

2.若使用 http://odum9helk.qnssl.com/resource/gogopher.jpg?v=1 访问一次,不会刷新 http://odum9helk.qnssl.com/resource/gogopher.jpg 的缓存。所以如果要保证访问到最新的资源,需要携带之前没有使用过的参数。

3.此方法适用于需要频繁更新的文件,为保证参数不重,可以在每次更新文件后,携带的参数 +1 ,或者取 unix 时间戳来作为参数。

 您阅读这篇文章共花了:

上一篇:CSS | 实现漂亮大标题效果

下一篇:Linux | 运维常见面试题——填空题

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:七牛 | 刷新缓存的方法 - http://www.fishyoung.com/post-118.html