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

tengxunyun cera

这几天一直在折腾WordPress缓存的问题,目前代码狗已经能做到0查询,不过我却没有将0sql技术使用起来,可能有朋友会问为什么,我的回答是不实用。看水煮鱼的博客够快吧,页面生成时间都不到1ms算是快到闪电了。可是那又如何,以我的网络访问他的站也得耗费接近1秒钟。费尽心思到最后用户体验与那些只做了简单缓存的站没多大区别,还得放弃一些动态数据的效果,我实在是不需要这种0查询效果。再次劝各位一句,0sql是门技术,但是使用起来也得考虑自身情况适不适合这么技术,在满足你需求的情况下最大限度的降低数据库查询次数,才是我们学习0sql技术的最终目的!

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

可以看到响应地址是腾讯的CDN服务器,然后响应状态也正常。在响应头部header中我发现了几个特殊数据,服务器数据过期时间我设置的是1个小时。这里的数据记录时间居然是早上??看来出问题的不是我的服务器。接着看到有个server字段,看不懂百度了一下发现这是腾讯的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缓存启动起来,一切正常,到此问题圆满解决。

cera aliyun tengxunyun cloudiplc

相关推荐

WordPress缓存导致文章阅读数点赞数不更新的解决办法

WordPress缓存导致文章阅读数点赞数不更新这个问题应该很多WordPress站长遇到过,因为WordPress提速最简单的就是缓存,这种方案也收到广大个人站长的一致追捧,然而一缓存网页就成静态了,不会有PHP交互也就不会更新数据,难道缓存和阅读计数不能同时拥有吗?当然有而且还不止一种,天无绝人之路嘛,下面就是一种解决整个页面被缓存而导致文章阅读数点赞数不更新的解决办法。 先声明下,由于原理一样,我这里就用阅读数做例子,点赞数就不讲了。并且这个办法不适用于内存缓存,因为内存缓存失效时还是会执行PHP代码计数的,使用这个方法的话会导致阅读数不够准确。如果是内存缓存用户,建议使用水煮鱼的方案,将阅读数存到内存中,等数量到了指定界限时,一次性写入阅读数,不过这样会出现阅读数无法及时更新的尴尬情况。   解决办法:使用ajax获取文章阅读数量并刷新网页中阅读数量的HTML标签,服务器收到请求后,同时将原来的阅读数量加1并更新到数据库中。说到这里最关键的内容就是ajax提交请求了,既然是请求那就需要接口了,不然不知道请求谁呀,下面是一个简单的请求接口,大家参考下。 PHP接口文件 将下面的代码复制保存为views.php文件,并放在主题目录下的action目录中,没有就新建一个action文件夹。 require( dirname(__FILE__).’/../../../../wp-load.php’ ); nocache_headers(); $post_ID = isset($_POST[‘post_ID’]) ? (int) $_POST[‘post_ID’] : 0; if ($post_ID!=0 ) { $post_views = (int) get_post_meta($post_ID, ‘views’, true); if (!update_post_meta($post_ID, ‘views’, ($post_views + 1))) { add_post_meta($post_ID, ‘views’, 1, true); } $post_views = (int) get_post_meta($post_ID, ‘views’, true); print_r(json_encode(array(‘error’ => 0, ‘views’ => 1, ‘response’ => $post_views))); …

腾讯云|香港轻量应用服务器|第二次简单网络测试

#腾讯云#香港轻量#30Mbps#峰值带宽VPS虚拟服务器上线还是有一段时间了,选择的用户还是非常多的,其线路波动还是比较大,部分折腾的也比较多。下面简单看看腾讯香港轻量服务器的基本情况,测试脚本时间为2020年10月7日21:38:25,在高峰时段!   一、基本硬件信息:   二、媒体解锁测试脚本显示基本上不支持!所以有这方面需求的建议不要选择! 三、CPU、内存、硬盘、内地下载: 四、北京地区联通、电信与移动回程测试 Traceroute to China, Beijing CU (TCP Mode, Max 30 Hop) ============================================================ traceroute to 123.125.99.1 (123.125.99.1), 30 hops max, 60 byte packets 1 * 2 9.62.249.28 0.70 ms * United States ibm.com 3 10.196.75.217 0.66 ms * LAN Address 4 10.196.90.73 1.26 ms * LAN Address 5 10.196.95.182 1.16 …

腾讯云Windows服务器|怎么扩容云硬盘

#腾讯云##Windows#服务器该怎么扩容云硬盘呢?公司的服务器硬盘满了,于是涉及到了要增加硬盘容量,公司业务平常也是运行着的,所以只能晚上进行扩容,今天来说一下扩容云硬盘期间的流程以及注意事项。 https://cloud.tencent.com/ 注意 扩容文件系统操作不慎可能影响已有数据,因此强烈建议您在操作前手动 创建快照 备份数据。 扩容文件系统需要 重启实例 或重新扫描磁盘,将导致一定时间的业务中断,建议您选择合适的时间谨慎操作。 完成扩容操作后,强烈建议您按照 重新扫描磁盘 识别扩容后的容量。执行“刷新”等其他操作不能确保系统可识别扩容容量。 前提条件 已 扩容云硬盘 空间。 该云硬盘已 挂载 到 Windows 云服务器且已创建文件系统。 已 登录 待扩展分区及文件系统的 Windows 云服务器。 操作流程 一、在控制台购买扩容所需容量空间并付款。(默认是购买的一年,到期前请及时续费,羊毛之家的服务器买的三年的,但是硬盘扩容默认只付款一年) 二、在合适的时间,比如没有人使用服务器的时候,登录服务器 右键单击,并选择【计算机管理】。 在“计算机管理”窗口的左侧导航栏中,选择【存储】>【磁盘管理】。 右键单击 【磁盘管理】,选择 【重新扫描磁盘】。如下图所示: 4、扫描完成后,查看数据盘是否已经变为扩容后的大小(本例中执行扫描操作后识别到硬盘由原来的10GB扩容到了50GB)。如下图所示: 扩展卷 右键单击磁盘空间的任一空白处,选择【扩展卷】。 根据扩展卷向导的指引完成扩展卷操作。 完成后新增的数据盘空间将会合入原有卷中。如下图所示: 这个时候,我们的windows服务器云硬盘就扩容完成了。

微信扫一扫,分享到朋友圈

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