您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

WordPress对象缓存Object Cache使用方法和详细介绍

含烟2023-07-24WordPress教程已有人查阅

导读Memcached 内存缓存可以优化 WordPress 很多功能,让你的 WordPress 变得更快,如何使用 Memcached 来深度优化 WordPress。

Memcached 内存缓存可以优化 WordPress 很多功能,让你的 WordPress 变得更快,如何使用 Memcached 来深度优化 WordPress。

要深度理解 WordPress 优化,必须要首先了解 WordPress 对象缓存 机制。

WordPress 对象缓存机制和服务器设置

WordPress Object Cache(WordPress 对象缓存)是 WordPress 的缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。

WordPress Object Cache 和服务器设置关系很大,如果系统开启了 Memcached 内存缓存,则这个对象是直接存入到内存,在数据未过期之前,以后再次读取这个数据都是直接从内存中读取的,这样效率和速度都非常快的。

如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中读取了。

WordPress 对象缓存的函数

使用 WordPress 对象缓存技术其实是非常简单的:

使用 wp_cache_add() 把数据添加到缓存中。

使用 wp_cache_set() 把数据设置到缓存中。

使用 wp_cache_get() 到缓存中读取数据。

使用 wp_cache_delete() 删除缓存中的数据。

这些函数会涉及到的四个参数:

参数

$key 对象的 key。

$data 要存的值。

$group 分组,可选参数,用来把缓存对象就行分组。

$expire 过期时间,可选参数,如果是默认缓存,这个参数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是 ,不会自动过期)。

使用 WordPress 对象缓存

下面以我即将更新 WordPress 相关文章插件为例,讲讲如何使用 WordPress 对象缓存:我们知道 WordPress 相关文章插件是通过 tag 和分类来获取相关文章,相同的 tag 和分类越多,相关性越强,这样就需要进行多个表联合查询来获取相关文章,这样效率其实是比较差的。但是一个文章它的相关文章一段时间内是不会变动的,所以我们就可以使用 WordPress 对象缓存对相关文章进行加速。

下面是把把相关文章的数据写入缓存的例子,使用当前 post_id 作为 key,related_posts 作为 group,缓存时间为一个小时,即 3600 秒。

global $post;
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);

上面只是把数据存到缓存对象中,我们在显示相关文章的时候,就要去调用这个对象缓存来使用,首先检查下是否已经有了缓存,如果你要的信息没有在缓存中,或者已经过期了。wp_cache_get() 会返回 false,如果这样,你就要去数据库中重新获取这些信息。否则就返回在缓存中的信息。

global $post;
$related_posts_data = wp_cache_get($post->ID,'related_posts');
if(false === $related_posts_data){
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);
}
echo $related_posts_data;

因为设置了一个小时,相关文章的数据就失效,这里一般就无需更新缓存了,如果你在后台更改了设置,需要立即清理缓存,可以使用 wp_cache_delete 进行清理:

wp_cacache_delete($post->ID,'related_posts');

WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。

本文标签:

很赞哦! ()

相关源码

  • 自适应html5二极管LED灯具灯饰类企业网网站模板该PbootCMS内核开发的响应式模板专为LED照明、灯具制造类企业设计,通过HTML5技术实现手机与PC端自适应显示,确保跨设备访问体验一致。企业可快速替换图文内容适配其他工业领域查看源码
  • html5响应式pbootcms模板新闻资讯博客网站源码该模板采用PbootCMS内核开发,专为新闻资讯类网站打造,同时具备高度行业适配性--只需替换图文内容即可快速转型为企业官网、行业门户等各类站点。查看源码
  • (自适应)工业机械设备产品介绍免费pbootcms源码下载本网站模板基于PbootCMS内核精心开发,为机械设备与工业产品制造企业量身打造。设计充分考量行业特性,突出产品展示与技术实力呈现查看源码
  • 响应式HTML5家居建材办公家具桌椅pbootcms模板为家居建材、办公家具企业打造的响应式网站模板,同时支持多行业快速适配通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码
  • (自适应响应式)HTML5中小学早教教育机构类网站pbootcms模板下载基于PbootCMS内核开发的响应式模板,为早教中心、培训学校等教育机构打造,提供从技术架构到视觉呈现的全套网站建设方案。查看源码
  • 自适应黑色建筑装饰设计公司个人工作室pbootcms模板基于PbootCMS内核开发的黑金风格模板,为建筑装饰、工程设计类企业打造,采用‌开源架构‌,支持跨行业快速适配,核心优势如下: 查看源码
分享笔记 (共有 篇笔记)
验证码: