缓存刷新-这个功能不可用

新手上路,请多包涵

缓存刷新-这个功能不可用。
半年前已经反馈过这个问题,但是直到现在还是不可用。
问题描述:
http://XXX.qiniudn.com/5.png
我在源服务器上替换了一张新的5.png图片。但是几个小时候后,清空浏览器缓存后还是访问到老的那张图片。新的图片在节点上没有更新。

阅读 3.6k
2 个回答

这个问题的关键在于你没有理解cdn的工作机制。

假设你在源服务器上面有一个文件A,然后通过镜像存储的方式放到了七牛,七牛在用户实际访问的时候,再把它放到cdn那边去,然后所有的用户得到的都是cdn缓存的文件。另外七牛默认指定的cdn的缓存时间是30天。

所以如果你更新了源服务器上的文件,而cdn的缓存仍然没有过期的话,那么用户访问到的当然是旧的文件内容。另外,你是更新了你源服务器上的文件,那七牛如何知道要去更新这个文件呢?七牛不知道!七牛默认不会去更新同名的资源,而是认为它不会变化,这个时候怎样才能将源站的更新同步到七牛呢?答案是使用prefetch接口

Prefetch作用如下:

对于设置了镜像存储的空间,从镜像源站抓取指定名称的资源并存储到该空间中。
如果该空间中已存在该名称的资源,则会将镜像源站的资源覆盖空间中相同名称的资源。

然后才是利用七牛后台刷新cdn链接的机制,刷新你所需要更新的链接。

不究其原理,何以知无用?

缓存刷新这个是可以使用的,只是更新之后并不能马上所有的cdn节点上都能访问到最新的资源,需要24小时才能达到全网更新的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进