WordPress 对象缓存详细介绍和使用


WordPress 对象缓存简介和服务器设置

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

WordPress Object Cache 和服务器设置关系很大,如果系统支持内存缓存,则这个对象是直接存入内存,以后在未过期之前都是直接从内存中读取的,这样效率和速度都非常快的。如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中读取了。

WordPress 对象缓存的函数

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

  1. 使用 wp_cache_set() 把数据写到缓存中。
  2. 使用 wp_cache_get() 到缓存中读取数据。
  3. 使用 wp_cache_delete() 删除缓存。

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

  • $key: 对象的 key。
  • $data: 要存的值。
  • $group: 分组,可选参数,用来把缓存对象就行分组。
  • $expire: 过期时间,可选参数,设置缓存的时间,单位是秒,默认为0(就是永远,不会自动过期)。

使用 WordPress 对象缓存

下面以我即将更新 WordPress 相关日志插件为例,讲讲如何使用 WordPress 对象缓存:

我们知道 WordPress 相关日志插件是通过 tag 和分类来获取相关日志,相同的 tag 和分类越多,相关性越强,这样就需要进行多个表联合查询来获取相关日志,这样效率其实是比较慢的。但是一个日志它的相关日志一段时间内是不会变动的,所以我们就可以使用 WordPress 对象缓存对相关日志进行加速。

下面是把数据写入缓存的例子,使用当前 post ID 作为 key,‘related_post’作为 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() 会返回否,如果这样,你就要去数据库中重新获取这些信息。否则就返回再缓存中的信息。

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 进行清理,具体就不再讲解了。

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » WordPress 对象缓存详细介绍和使用

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡