wordpress缓存类WP_Object_Cache分析

Wordpress的缓存类WP_Object_Cache在wp-includes/cache.php文件中。与一般的缓存类将数据缓存在文件中不同,WP将数据缓存在内存中,所以每次客户端请求,都要重新生成缓存,请求处理结束后,缓存就清空了。这样唯一的好处是,一次请求中,需要多次使用的数据,比如site_name,只需要去数据库中查询一次,以后直接读内存就可以了,速度比读数据库快,提高程序执行效率。
下面来分析WP_Object_Cache的实现

class WP_Object_Cache {

//所有的缓存数据都保存在这个变量里
var $cache = array ();

//缓存中不存在的变量
//调用get方法是取不到的值,都保存在这里
var $non_existant_objects = array ();

//记数 记录取值时成功的次数
var $cache_hits = 0;

//记数 记录取值时失败的次数
var $cache_misses = 0;

/**
* 向缓存中添加新数据
*
* @使用 WP_Object_Cache::get 检查缓存中是否已存在该数据.
* @使用 WP_Object_Cache::set 检查了缓存中数据不存在后,设置新值
*
* @参数 int|string $id 标识缓存中的数据
* @参数 mixed $data 要保存的数据
* @参数 string $group 缓存内容的分组 wp把数据按不同的类型分组,如comment、bookmark等
* @参数 int $expire 缓存内容的过期时间 从未使用过
* @返回值 bool 缓存ID和组存在时返回false,否则返回true
*/
function add($id, $data, $group = 'default', $expire = '') {
if (empty ($group))
$group = 'default';
//如果组$group下id为$id的值已经存在,则不能新增,返回false
if (false !== $this->get($id, $group, false))
return false;

return $this->set($id, $data, $group, $expire);
}

}


实在是无奈,同一篇文章,代码贴多了,就发布失败,只能分在几篇文章里发,对不起大家了。

续:[url]http://baiyuxiong.iteye.com/admin/blogs/768988[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值