腾讯云CDN内容分发缓存导致首页内容不更新的解决办法/百度云CDN也可以参考

百度云CDN也可以参照以下方法修改

 

每次在更新文章后,在首页看不见新更新的文章,但是分类页下文章却是正常的。最开始我以为是我服务器缓存的问题,首先刷新memcached缓存数据,结果毫无作用,然后关掉memcached缓存服务,没有效果。然后关掉redis缓存服务(虽然我没启用),仍然没有效果,调整wp-config.php文件,关闭所有缓存,还是没效果。这时候我的心情是十分难受的,最后只能放大招——重启服务器,然而并没有什么卵用。重启后浏览器清空缓存Ctrl+F5强刷,还是没用。难道这个问题就没法解决了?这几天搞缓存搞得我头晕,冷静了一会儿后,我决定通过浏览器的响应头找出这个问题出现在哪儿!我的响应头如下:


腾讯CDN内容分发缓存导致首页内容不更新的解决办法

 

可以看到响应地址是腾讯的CDN服务器,然后响应状态也正常。在响应头部header中我发现了几个特殊数据,服务器数据过期时间我设置的是1个小时。这里的数据记录时间居然是早上??看来出问题的不是我的服务器。接着看到有个server字段,看不懂百度了一下发现这是腾讯的cdn服务。突然想起了前几天从阿里云cdn换到了腾讯云CDN,很有可能配置上有点问题。然后看到有个缓存信息字段后面显示命中字样,我真是……有苦说不出。

解决办法

主要是cdn缓存策略问题,值得注意的是需要调整一下优先级,否则即使你设置了动态文件不缓存,首页也会给你缓存下来的。下图是我的优先级,切记一定要将动态文件的优先级设置为最高!


腾讯CDN内容分发缓存导致首页内容不更新的解决办法

你以为排在第一优先级就最高了?想多了,腾讯就是不按套路来,排在最下面的优先级才最高!记住啦,排在最下面优先级最高!所以正确的设置应该是下面这样。


腾讯云CDN内容分发缓存导致首页内容不更新的解决办法

至于设置了动态文件不缓存,还要不要设置首页规则就看你自己了,我是设置了的反正设置上又不收费,无所谓咯。然后等待cdn部署,完成后的请求如下图:


 

腾讯CDN内容分发缓存导致首页内容不更新的解决办法

我们可以看到X-Cache-Lookup字段出现了命中信息,查阅一番后知道这是腾讯cdn未命中的意思,更多命中信息如下:

  • X-Cache-Lookup:Hit From MemCache 表示命中CDN节点的内存
  • X-Cache-Lookup:Hit From Disktank 表示命中CDN节点的磁盘
  • X-Cache-Lookup:Hit From Upstream 表示没有命中CDN

刷新下网站,首页内容也能随时更新显示出来了,memcached缓存启动起来,一切正常,到此问题圆满解决。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据