簡介和安裝配置
Alternative PHP Cache (APC) 是一個開放自由的PHP opcode 緩衝。它的目標是提供一個自由、 開放,和健全的架構用於緩衝和最佳化PHP的中間代碼。
該擴充的各個版本安裝包都在此處: http://pecl.php.net/package/apc.
該PECL 擴充的 DLL 當前不可用。
注意: 在Windows上,APC需要一個臨時目錄,並且Web伺服器對這個目錄可寫,APC會檢測TMP,TEMP,USERPROFILE這些Windows的環境變數,如果這些都沒有,會檢查系統檔案夾下的WINDOWS目錄。
這些函數的行為受 php.ini 中的設定影響。
儘管預設的 APC 設定對於大多數安裝已經沒問題,但專業人員應考慮調整以下參數。
APC有兩個主要的配置選項。第一,多少記憶體將被分配給APC;第二,每次請求APC是否檢查檔案修改。兩個ini選項分別控制這些設定apc.shm_size 和apc.stat。
一旦伺服器運行起來了, apc.php 指令碼可以拷貝到一個可以通過瀏覽器訪問到的Web目錄中,通過瀏覽器訪問這個指令碼會得到APC工作狀態的詳細分析,如果在PHP中啟用了GD擴充,它甚至會顯示一些有趣的圖表。當然,首要的事情是要確保真的緩衝了檔案。 如果APC運行了, 緩衝完全統計 數目 (在左上方)將顯示緩衝的命中率並且清除在最後 apc.ttl 秒內沒有被訪問的緩衝。 這個數字使緩衝的最小化的很好配置。如果緩衝不斷的被填充和清除,這將影響緩衝的效果和指令碼的效能。減少這個數位最好方式就是給APC分配足夠多的記憶體。除此之外, 可以通過 apc.filters 緩衝更少的指令碼。
更多關於APC的介紹文章,可參考:可選PHP緩衝APC淺析——安裝、配置及工作原理
APC函數
apc_add — 緩衝一個變數到資料存放區
apc_bin_dump — Get a binary dump of the given files and user variables
apc_bin_dumpfile — Output a binary dump of cached files and user variables to a file
apc_bin_load — Load a binary dump into the APC file/user cache
apc_bin_loadfile — Load a binary dump from a file into the APC file/user cache
apc_cache_info — 從APC的資料存放區中擷取緩衝資訊
apc_cas — 更新舊值為新值
apc_clear_cache — 清除APC緩衝
apc_compile_file — Stores a file in the bytecode cache, bypassing all filters.
apc_dec — 減少一個儲存數字
apc_define_constants — Defines a set of constants for retrieval and mass-definition
apc_delete_file — 從位元組碼中刪除檔案
apc_delete — 從使用者緩衝中刪除某個變數
apc_exists — 檢查APC中是否存在某個或者某些key
apc_fetch — 從緩衝中取出儲存的變數
apc_inc — 遞增一個儲存的數字
apc_load_constants — 從緩衝中載入一系列常量
apc_sma_info — 取回APC的共用記憶體配置資訊
apc_store — 在資料存放區中緩衝一個變數
APCIterator類
APCIterator 類使得遍曆大容量APC緩衝更容易,這是很有協助的因為它允許同時擷取已經定義的每個被鎖定執行個體的條目數,因此它釋放的其他活動的緩衝鎖,而不是阻礙整個緩衝以完成擷取100(預設)個快取資料的迭代,在大緩衝條目。 此外,使用正則匹配效率更高,因為它被改為C層級的實現。
方法列表
APCIterator::__construct — 構造一個 APCIterator 迭代器對象
APCIterator::current — 擷取當前項
APCIterator::getTotalCount — 擷取總數
APCIterator::getTotalHits — 擷取快取命中數
APCIterator::getTotalSize — 擷取所有緩衝的尺寸大小
APCIterator::key — Get iterator key擷取迭代器的鍵
APCIterator::next — 移到下一項
APCIterator::rewind — 倒退迭代器
APCIterator::valid — 檢查當前位置是否有效