APC(Alternative PHP Cache)
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);
?>