memcached内存缓存可以优化wordpress很多功能,让你的wordpress变得更快,下面由wordpress教程栏目给大家介绍如何使用memcached来深度优化wordpress。
要深度理解WordPress优化,必须要首先了解WordPress对象缓存机制。
WordPress对象缓存机制和服务器设置
WordPressObjectCache(WordPress对象缓存)是WordPress的缓存机制,它的主要功能是把负责查询或者运算的结果按照Key-Value这样的方式(WordPress还支持按照Group来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。
WordPressObjectCache和服务器设置关系很大,如果系统开启了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);