mac下安装apc并且使用

时间:2021-12-21 23:25:28

1.到网站下载对应PHP版本apc压缩包http://git.php.net/?p=pecl/caching/apc.git;a=commit;h=08e2ce7ab5f59aea483d877e2bc19bb1a5bcc34f

2.解压并进入apc文件夹

3.以此执行 phpize ,make ,sudo make install命令

4.如果是在MAMP环境下,apc.so在扩展PHP扩展文件夹下。例如我的在这/Applications/MAMP/bin/php/php5.5.26/lib/php/extensions/no-debug-non-zts-20121212

5.打开php.ini,在最末尾添加

[apc]
extension = apc.so

6.重启Apache或者nginx

7.打开phpinfo()  command+F搜索apc,有则安装成功

===用法===

  一、apc_store($key, $value, $time)和apc_add($key, $value, $time)方法差不多,参数类似session等,$key为键值,$value为值,(类似数组),$time为缓存时间,默认永久。

  二、apc_fetch($key)  获取键值为$key的缓存

  三、apc_delete($key) 清除缓存

我封装成了一个类,实例如下  

class Apc{
/**
* Apc缓存-设置缓存
* 设置缓存key,value和缓存时间
* @param string $key KEY值
* @param string $value 值
* @param string $time 缓存时间
*/// 脚本学堂 http://www.jbxue.com
public function set_cache($key, $value, $time = 0) {
if ($time == 0) $time = null; //null情况下永久缓存
return apc_store($key, $value, $time);;
} /**
* Apc缓存-获取缓存
* 通过KEY获取缓存数据
* @param string $key KEY值
*/
public function get_cache($key) {
return apc_fetch($key);
}
/**
* Apc缓存-清除一个缓存
* 从memcache中删除一条缓存
* @param string $key KEY值
*/
public function clear($key) {
return apc_delete($key);
}
/**
* Apc缓存-清空所有缓存
* 不建议使用该功能
* @return
*/
public function clear_all() {
apc_clear_cache('user'); //清除用户缓存
return apc_clear_cache(); //清楚缓存
}
/**
* 检查APC缓存是否存在
* @param string $key KEY值
*/
public function exists($key) {
return apc_exists($key);
}
/**
* 字段自增-用于记数
* @param string $key KEY值
* @param int $step 新增的step值
*/
public function inc($key, $step) {
return apc_inc($key, (int) $step);
}
/**
* 字段自减-用于记数
* @param string $key KEY值
* @param int $step 新增的step值
*/
public function dec($key, $step) {
return apc_dec($key, (int) $step);
}
/**
* 返回APC缓存信息
*/
public function info() {
return apc_cache_info();
}
} $test = new Apc();
$test->set_cache('zhangsan','今晚在看海贼王',50);
//$test->set_cache('lisi','再看苹果发布会',1);
echo "<br /><br /><br /><br /><br />";
var_dump($test->get_cache('zhangsan'));
apc_delete('zhangsan');
var_dump($test->get_cache('zhangsan')); ?>