Wordpress性能优化 —— 缓存篇(2)

Yxhds YW| 2013-03-05 WordPress, 教程 评论数( 0 )

WordPress性能优化 - 缓存篇 (1) 中,我们主要提及了通过插件来提升Wordpress的性能。但对于Wordpress主题、插件开发者来说,合理的应用Wordpress Cache API也是必备的能力之一。

Wordpresss的缓存API

Wordpress Object Cache API主要包含6个函数,分别为:wp_cache_add,wp_cache_set,wp_cache_get, wp_cache_delete, wp_cache_replace, wp_cache_flush。它们在wordpress的源文件中的wp-includes/cache.php内定义。其主要功能是为开发者提供对php对象的缓存功能。

wp_cache_add( $key, $data, $group, $expire )

添加缓存。$key通常是字符串,用来区分不同的缓存,$data是要缓存的数据。$group可选,用来对缓存进行分组,一般是用来确保你的缓存不会与其它插件或主题生成的Key产生命名上的冲突。$expire为缓存的有效期,单位为秒。默认为0,表示尽可能长的时间。

当插入的$key,已经在系统中存在的wp_cache_add不会替换已有的缓存,而是直接返回false。

wp_cache_set( $key, $data, $group, $expire )

与wp_cache_add类似,同样向系统中添加缓存(不管$key是否存在),不同之处在于如果$key已经存在,则覆盖已有的缓存。

wp_cache_get( $key, $group ) wp_cache_get( $key, $group = '', $force = false, $found = null )

获取缓存,当没有找到$key对应的缓存时,返回false。有的时候,为了区分缓存的数据为false和没有找到$key所返回的false,你会用到$found参数。$found为引用变量,当方法调用结束后,若是满足$found === false,则表示所要查找的$key并不存在。

wp_cache_delete( $key, $group )

与wp_cache_add相反,删除已经缓存。

wp_cache_replace( $key, $data, $group, $expire ) 替换已经缓存。与wp_cache_set十分相似,只是当$key不存在时,wp_cache_replace不会添加缓存。

wp_cache_flush()

清除所有缓存。

需要注意的是,wordpress本身的缓存并不是持久的,这意味着缓存仅仅能应用在当前的请求内,HTTP请求结束后,缓存会被服务器清空。开发者需要安装特定的插件来实现持久的缓存。

而且并不是所有的缓存插件都实现了wp_cache_add_non_persistent_groups方法。实现持久的缓存的插件主要有:W3 Total Cache , WP File Cache, Memcached Object Cache , APC Object Cache, File-Based Caching for WordPress。

小结

笔者水平一般,对wordpress的缓存机制了解仅限如此,如有不对之处敬请指出,并多多包涵,感谢之至。

聚焦云计算,扫描二维码,关注HostUCan云计算

有好的文章希望站长之间帮助分享推广,猛戳这里我要投稿

您需要登录后才可以评论登录|注冊

暂无评论