Chinaunix首页 | 论坛 | 博客
  • 博客访问: 607011
  • 博文数量: 129
  • 博客积分: 8026
  • 博客等级: 中将
  • 技术积分: 1300
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-21 14:39
文章分类

全部博文(129)

文章存档

2011年(1)

2007年(26)

2006年(102)

我的朋友

分类:

2006-09-25 18:00:05

APC是一种php的缓存解决方案,目前以pecl方式发布,有消息说将会出现在php6版本的内核.
 
一.安装方法

1)从下载相应版本
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下,只要到的相应分支下下载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保存的内容
 
完整例子如下:
 
//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.'
'
;
echo 
'AUTHOR='.AUTHOR.'
'
;

//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').'
'
;
echo 
'time2:'.apc_fetch('time2').'
'
;

//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 
'
'
;
//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设置是否生效
 
阅读(2455) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~