七牛缓存无法刷新的解决方法

建站相关 myhloli 8573次浏览 已收录 4个评论

为了使自己博客的加载速度加快,大家或是选择的国内cdn加速,或是选择了云存储加速,而七牛也正是国内大多数站长喜欢使用的一款云存储服务。
之前讲过如何在wordpress中开启七牛云存储加速,开启之后,七牛会将设定好的目录中的所有静态文件缓存起来。其中不止包括了静态的图片音频文件,当然也包括css和js文件。
css和js文件当然一般情况下,我们是不会去做什么改动的。不过博客建立初期,总是喜欢对主题修修改改,或是装几款插件试试效果,有时候一款主题或者一款插件并不能让你满意,就需要对css文件或是js文件进行细微的修改。
比如今天我安装了wp-player插件,首先感谢MJ大大制作出这么好用的插件。
这款插件和我的主题就有些相性不合,默认加载完成的时候歌曲列表会不显示歌曲名字,咨询了wp-player作者M.J,得知是主题样式冲突问题。
M.J给出的解决方案是:
在样式表最后加上以下代码

.wp-player .wp-player-list ul li:before,
.wp-player .wp-player-list ul li:hover:before { display: inline; }

wp-player的样式表文件是wp-player.css在插件目录里可以找到。
在最后加入上述代码,关闭七牛缓存功能,问题解决。
之后我去七牛空间设置里强制刷新了wp-player.css,七牛提示十分钟后生效,有使用过这个功能的同学们应该知道了,这个功能现在形同虚设。
过了十分钟,开启七牛缓存功能,果然刚才的修改变得好像什么都没发生过一样。
果然是七牛的缓存刷新出问题了 :exclaim:
这时候只有两个方法:
一个是修改文件名,把wp-player.css修改成wp-player-v2.css,之后把引用了此css的php中所有wp-player.css字段统一替换成v2版的文件名。可以使用批量查找替换功能搞定,这个方法适合有本地文本编辑器的同学。
如果你和我一样使用芒果云在线编辑的话,因为芒果云的在线编辑器不支持批量替换,所以这一工程会异常复杂。我就动了个歪脑筋,删除七牛空间里的css文件,让七牛重新抓取是否可行。经测试,单独在内容管理里删除wp-player.css无效,估计还是卡在刷新队列里了。只能出动大招了,手动删除空间再重新建立一个。删除空间这里也有个门道,就是删除后,如果重新建立的新空间和之前的空间同名,文件是无法刷新的,必须更换空间名称。重新建立新空间之后按老方法设置缓存的域名。获取七牛域名。最后一步把获取的七牛域名替换到wordpress的七牛域名里。做完这些,基本就没问题了。这样做的缺点是,刚建立新空间的一段时间网站访问会比较卡。大约十分钟左右,七牛缓存完所有文件之后,速度可以恢复正常。之前对css文件做的修改也可以争取生效。
总结就是,应对七牛的刷新延迟,要么改文件名,要么删空间,有的人可能会选择继续等待七牛刷新,博主之前也曾经傻傻的等过,最后等了几天毫无效果,才彻底放弃了七牛的刷新功能。
希望同样使用七牛被无法刷新缓存所困扰的同学尝试一下这个方法,能解决问题的话别忘了点个赞哦。

ps:经过测试,直接删除七牛空间容易在一段时间内导致博客访问缓慢,目前采用修改文件名方法在效率上比较有优势。文件名命名规则建议使用【原文件名_v时间.后缀】,比如本站的多说核心脚本embed.js经过修改之后,变成embed_v20150306.js。

 

 

       

       

        萝莉社,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://myhloli.com/refurbish-qiniu-cache.html
      喜欢 (6)
      发表我的评论
      取消评论

      表情

      Hi,您需要填写昵称和邮箱!

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址
      (4)个小伙伴在吐槽
      1. MJ的作品非常不错, 七牛当然也不错啊
        MX-傑2015-03-12 10:24 Reply
      2. 七牛的队列生效个人试过的一般要15分钟以上~~我记得删除空间里的文件再重新获取是可以刷新的,之前改多说的js的时候刷过很多次...有时候反而是本地浏览器的缓存.你可以在删除七牛空间里的文件后,再提交刷新队列,然后打开七牛的该文件,Ctrl+F5刷几次,就能看到新的资源文件了.
        quericy2015-02-16 22:23 Reply
        • 最近被七牛坑惨了,每次刷新都刷不好,我已经尽量不修改加入七牛缓存目录下的文件了
          myhloli2015-02-16 23:47 Reply
      加载中……