APC(Alternative PHP Cache)

来源:互联网 发布:ftp网闸端口 编辑:程序博客网 时间:2024/05/21 15:44
APC是一种php的缓存解决方案,目前以pecl方式发布,有消息说将会出现在php6版本的内核.
一.安装方法

1)从http://pecl.php.net/package/apc下载相应版本
2)解压
3)进入源码目录
4)执行php安装目录下的bin/phpize
5)./configure --enable-apc --enable-apc-mmap --with-apxs=path-to-apache/bin/apxs --with-php-config=path-to-php/bin/php-config
6)make && make install
7)将生成的apc.so加载到php.ini(extesion=apc.so,注意extension_dir的设置)
一般地,编译生成的.so会在php安装路径的lib/php/extensions下
8)重启,apache
写一个phpinfo看看
注:windows下,只要到http://snaps.php.net/的相应分支下下载php_apc.dll,再在php.ini中加载即可
二.用法
apc的用法比较简单,只有几个函数,列举如下
apc_clear_cache() 清除apc缓存内容
默认(无参数)时,只清除系统缓存,要清除用户缓存,需用'user'参数
apc_define_constants ( string key, array constants [, bool case_sensitive] )
将数组constants以常量加入缓存
apc_load_constants (string Key)
取出常量缓存
apc_store ( string key, mixed var [, int ttl] )
在缓存中保存数据
apc_fetch ( string key )
获得apc_store保存的缓存内容
apc_delete ( string key )
删除apc_store保存的内容
完整例子如下:
<?php
//apc test
//constants
$constants = array('APC_FILE'   => 'apc.php', 'AUTHOR'   => 'tim'
);
apc_define_constants('numbers', $constants
);
apc_load_constants('numbers'
);
echo
'APC_FILE='.APC_FILE.'<br>'
;
echo
'AUTHOR='.AUTHOR.'<br>'
;

//variable
if(!apc_fetch('time1')) apc_store('time1', time
());
if(!
apc_fetch('time2')) apc_store('time2', time(),2);
//set ttl
echo 'time1:'.apc_fetch('time1').'<br>'
;
echo
'time2:'.apc_fetch('time2').'<br>'
;

//object
class a
{
     function
b(){return 'i am b in class a'
;}
}
apc_store('obj',new a
());
$a = apc_fetch('obj'
);
echo
$a->b
();
echo
'<br>'
;
//array
$arr = array('a'=>'i am a','b'=>'i am b'
);
apc_store('arr',$arr
);
$apc_arr = apc_fetch('arr'
);
print_r($apc_arr
);
?>
提示:你可以刷新一下,看ttl设置是否生效
原创粉丝点击