七牛云存储更新缓存图片的方法

昨天我想更改一下个人评论表情包,可是无心间发现我把原来的表情包删了,而后换上新的表情包,可是没有效果,表情仍是原来的,我删除了缓存仍是没有 任何效果,因而F12查看了一下表情的路径后才发现缘由:表情的路径是七牛,由于我使用了CDN加速,原来的图片资源都已经缓存到了七牛,那么我网站打开 的时候就涉及到一个优先级的问题,就是说打开网站以后会检查图片等资源是否已经缓存,若是缓存过就会加载缓存的旧的资源,若是没有缓存才加载本地资源,所 以这就能够解释上面的状况了:由于个人评论表情图片已经缓存过了,因此就算我本地修改了仍是没有加载出来,而是使用缓存的旧的表情,那么怎么解决呢?很显 然就想到了删除旧的缓存,或者说更新缓存,而后就能够了,我网上找了不少的资源,最后终于解决了。
下面说说删除七牛缓存的方法:(3种)
首先建议你们操做以前先关闭CDN加速功能,好比我使用的是WP super cache的CDN加速,我是关闭以后再删除的缓存文件,而后删除缓存以后再从新打开CDN加速功能,推荐你们这样操做。好了,看下面三种方法吧:
1.登录七牛的管理平台,在“内容管理”中删除缓存的旧文件。

2. 登录 WordPress 管理后台,在七牛的缓存插件中找到“文件更新”的选项,一样输入旧文件的路径便可。当提示成功信息时,就表示旧文件已经删除掉了,七牛会从新缓存新文件。


3.(推荐) 登录七牛的管理平台,依次打开“空间设置”——“高级设置”——“缓存刷新”,在“去刷新”的弹出框中输入旧文件的路径便可。一次最多可输入10个url地址。

上面介绍的三种文件更新方式,我使用的是第三种,也推荐你们使用第三种(注意,浏览器自己也有缓存功能,所以要查看更新,能够重开一个浏览器,或者使用浏览器的强制刷新功能 Ctrl + F5),千万记住通常状况都须要清除缓存才能看见效果 :grin:
后来我使用了第三个方法,大概几分钟就生效了。所以你们在更新文件时,能够尝试不一样的方法。
这里有一篇七牛官方的关于缓存机制的介绍,感兴趣的能够看一下,为本身理解七牛的缓存和本身的使用提供帮助。浏览器

七牛云存储缓存机制
浏览器缓存
用户从浏览器(或者 App 客户端)请求一个 URL 时,浏览器首先会判断该资源曾经是否被请求过是否被缓存过,若是该资源在客户端被缓存了,就会直接返回给客户端。这是浏览器的缓存。目前七牛云存储会在输 出每一个资源时输出 Cache-Control: public, max-age=31536000 和 ETag: FsODI_568V_-16UxMM7JzqyS2Hx0 这样的头部来进行缓存控制。该 Cache-Control 头部表示该请求能够在客户端缓存一年时间,31536000 为秒,表示从当前时间开始的相对时间,在该时间内访问同一个 URL,浏览器不会再次向服务端请求,而是会直接将浏览器缓存中的资源返回给客户端用户。ETag是该资源在服务器端的 “指纹”。当请求头部的 Cache-Control 时间过时以后,浏览器会向服务端发送请求新文件的新请求,该请求会带上这个 Etag 作验证,判断所请求的资源在服务端是否确实有变化。值得注意的是,因为 Cache-Control 设置的时间为一年,当服务端有更新时,须要在浏览器强制刷新浏览器才可能发送验证 Etag 的请求。
CDN 缓存
用户从浏览器请求一个七牛云存储上的资源后,七牛云存储会将其分发到离用户最近的 CDN 节点上缓存下来,用户访问到的时 CDN 上的资源。用户下次再次向七牛的服务端请求的时候,访问到的仍是 CDN 缓存中的资源。所以,资源在七牛的服务端更新以后,不必定可以当即反馈到客户端。
目前,咱们的作法是,在七牛存储上的资源更新以后,需大约 10 分钟左右时间让 CDN 上的缓存失效。用户可在 10 分钟后看到最新的资源。若是 10 分钟后客户端还没看到缓存更新,能够先排查下客户端的浏览器缓存是否已经失效,若是没有失效能够采用强制刷新的形式来访问最新资源。
若是浏览器端强制刷新也无效,多是由于当前 CDN 节点中的该缓存还没有失效(这种状况不多见)。要确认 CDN 缓存是否过期,能够在 URL 后面加上版本参数的形式来让 CDN 强制刷新,好比 http://ikbear.qiniudn.com/iphone.jpg?v=20130910。CDN 拿到这个 URL 后会强制回七牛的存储中取回最新的资源。这种加版本的方法仅用于验证 CDN 缓存是否失效,要想正确使用版本的方法管理 CDN 缓存,参见下面的 “CDN 缓存最佳实践” 一节。
若是确认 CDN 缓存比较旧,可使用咱们的管理后台https://portal.qiniu.com/ => 选择一个空间 => 空间设置 => 高级设置 => 缓存刷新 来进行缓存的强制刷新。
CDN 缓存最佳实践
咱们整理了 CDN 缓存相关的最佳实践:
http://developer.qiniu.com/resource/best-practice-of-qiniu.pdf
供参考。


参考网址:
http://xuzefeng.cn/20150131/1897
http://kb.qiniu.com/Qiniu-Cloud-Storage-Cache-Strategy七牛云存储

相关文章
相关标签/搜索