APC(Alternative PHP Cache)

2010-06-22
程式設計

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看看
![](http://www.cublog.cn/u/14321/upfile/060925175835.gif)
註: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); ?>