当前位置:首页 > CMS教程 > WordPress > 列表

WordPress的对象缓存介绍和使用方法

发布:smiling 来源: PHP粉丝网  添加日期:2015-10-15 14:32:49 浏览: 评论:0 

本文章来为各位介绍一篇关于WordPress的对象缓存介绍和使用方法的教程,希望让各位不了解WordPress的对象缓存的朋友带来帮助。

WordPress 对象缓存的函数

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

使用 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_post’作为 group,缓存时间为一个小时,即 3600 秒.

  1. global $post
  2. $related_posts_data = wp_get_related_posts();//phpfensi.com 
  3. wp_cache_set($post->ID,$related_posts_data,'related_posts',3600); 

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

  1. global $post
  2. $related_posts_data = wp_cache_get($post->ID,'related_posts'); 
  3. if(false === $related_posts_data){ 
  4.  $related_posts_data = wp_get_related_posts(); 
  5.  wp_cache_set($post->ID,$related_posts_data,'related_posts',3600); 
  6. echo $related_posts_data

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

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

Tags: WordPress缓存 WordPress方法对象

分享到: