使用WP Super Cache予取予求地刷新指定页面静态缓存

WP Super Cache是我一直以来都在使用的超级缓存插件,他可以帮我们的网站快捷的打开静态缓存,从而大大提高访问速度,节约服务器资源。本人切身感受,同一台服务器,在所有的WP网站都启用静态缓存,并且把图片视频字体等静态资源存入CDN后,服务器的利用率可以提高80%甚至更多。这款插件的设置技巧,搜索引擎上能找到一大堆,本文就不重复了。

本文讨论在某些应用场景下,如何有效地刷新单个页面的缓存。举个例子,一些博客网站有点赞功能,点赞的数据一般我们会作为一个文章自定义字段存储在数据库中,而页面上显示的赞数是在静态缓存页面里的,访客新点了一个赞,数据库里面的那个数字是+1了,但缓存过的页面并不会刷新这个数字,你按多少次F5都没用。

这时候我们就需要手动刷新一下显示这个赞数的页面静态缓存。访客不能进入网站后台,他自己如何刷新页面静态缓存呢?

可以通过以下代码实现:

if (function_exists ('wp_cache_post_change')) {
	$GLOBALS["super_cache_enabled"]=1;
 
	//指定id为555的页面
	$id = 555;
	wp_cache_post_change($id);
 
	//指定网站首页
	wp_cache_post_change( get_option('page_on_front') );
}

“wp_cache_post_change”这个函数是WP Super Cache所带的,他通过参数$id来刷新单个页面的静态缓存,可以说指哪打哪。把以上代码加入到执行点赞的那个类库/钩子中去,就可以不动声色地刷新指定页面缓存了。

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/2621.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

发表评论

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