PHP APC 安装与应用

APC:Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存opcode的php中间码。

PHP APC提供两种缓存功能,即缓存Opcode(目标文件),我们称之为apc_compiler_cache。同时它还提供一些接口用于PHP开发人员将用户数据驻留在内存中,我们称之为apc_user_cache。

安装:

$ wget http://pecl.php.net/get/APC-3.1.9.tgz
$ tar -zxvf APC-3.1.9.tgz
$ cd APC-3.1.9/
$ /usr/local/php/bin/phpize
$ ./configure --enable-apc --enable-mmap --enable-apc-spinlocks --disable-apc-pthreadmutex --with-php-config=/usr/local/php/bin/php-config
$ make
$ make install
$ vim php.ini
#增加以下APC配置
[apc]
extension="apc.so"
apc.enabled=1
apc.cache_by_default=on  #对所有文件启用缓冲
apc.shm_segments=1  #apc.shm_segments指定了使用共享内存块数
apc.shm_size=64  #apc.shm_size指定一块共享内存空间大小,单位是M
apc.ttl=7200  #缓存条目在缓冲区中允许逗留的秒数
apc.user_ttl=7200
apc.num_files_hint=0
apc.write_lock=on  #启用写入锁
$ cd /home/super/APC-3.1.9/
$ cp apc.php /var/www/html/
$ /usr/local/apache2/bin/apachectl restart

调用phpinfo(),安装完成了,显示如下图:

访问apc.php,显示如下图:

PS:APC提供了apc.php,用于监控与管理APC缓存。不要忘记修改管理员名和密码:

defaults('ADMIN_USERNAME','super');
defaults('ADMIN_PASSWORD','123456');

应用:
1.函数说明:
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
$test=array(
'abc'=>'super',
'def'=>'hello world'
);

apc_define_constants('test_const',$test);

apc_load_constants('test_const');

echo 'test_const:'.abc;  //注意abc前面没有$
?>

输出:test_const:super

<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>

发表评论