PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)
該擴(kuò)展的各個(gè)版本安裝包都在此處:?http://pecl.php.net/package/apc.
該P(yáng)ECL?擴(kuò)展的?DLL?當(dāng)前不可用。
注意:?在Windows上,APC需要一個(gè)臨時(shí)目錄,并且Web服務(wù)器對(duì)這個(gè)目錄可寫,APC會(huì)檢測(cè)TMP,TEMP,USERPROFILE這些Windows的環(huán)境變量,如果這些都沒有,會(huì)檢查系統(tǒng)文件夾下的WINDOWS目錄。
這些函數(shù)的行為受?php.ini?中的設(shè)置影響。
盡管默認(rèn)的 APC 設(shè)定對(duì)于大多數(shù)安裝已經(jīng)沒問題,但專業(yè)人員應(yīng)考慮調(diào)整以下參數(shù)。
APC有兩個(gè)主要的配置選項(xiàng)。第一,多少內(nèi)存將被分配給APC;第二,每次請(qǐng)求APC是否檢查文件修改。兩個(gè)ini選項(xiàng)分別控制這些設(shè)置apc.shm_size?和apc.stat。
一旦服務(wù)器運(yùn)行起來了,?apc.php?腳本可以拷貝到一個(gè)可以通過瀏覽器訪問到的Web目錄中,通過瀏覽器訪問這個(gè)腳本會(huì)得到APC工作狀態(tài)的詳細(xì)分析,如果在PHP中啟用了GD擴(kuò)展,它甚至?xí)@示一些有趣的圖表。當(dāng)然,首要的事情是要確保真的緩存了文件。 如果APC運(yùn)行了,?緩存完全統(tǒng)計(jì)?數(shù)目 (在左上角)將顯示緩存的命中率并且清除在最后?apc.ttl?秒內(nèi)沒有被訪問的緩存。 這個(gè)數(shù)字使緩存的最小化的很好配置。如果緩存不斷的被填充和清除,這將影響緩存的效果和腳本的性能。減少這個(gè)數(shù)字的最好方式就是給APC分配足夠多的內(nèi)存。除此之外, 可以通過?apc.filters?緩存更少的腳本。
更多關(guān)于APC的介紹文章,可參考:可選PHP緩存APC淺析——安裝、配置及工作原理
APC函數(shù)apc_add?— 緩存一個(gè)變量到數(shù)據(jù)存儲(chǔ)apc_bin_dump?— Get a binary dump of the given files and user variablesapc_bin_dumpfile?— Output a binary dump of cached files and user variables to a fileapc_bin_load?— Load a binary dump into the APC file/user cacheapc_bin_loadfile?— Load a binary dump from a file into the APC file/user cacheapc_cache_info?— 從APC的數(shù)據(jù)存儲(chǔ)中獲取緩存信息apc_cas?— 更新舊值為新值apc_clear_cache?— 清除APC緩存apc_compile_file?— Stores a file in the bytecode cache, bypassing all filters.apc_dec?— 減少一個(gè)存儲(chǔ)數(shù)字apc_define_constants?— Defines a set of constants for retrieval and mass-definitionapc_delete_file?— 從字節(jié)碼中刪除文件apc_delete?— 從用戶緩存中刪除某個(gè)變量apc_exists?— 檢查APC中是否存在某個(gè)或者某些keyapc_fetch?— 從緩存中取出存儲(chǔ)的變量apc_inc?— 遞增一個(gè)儲(chǔ)存的數(shù)字apc_load_constants?— 從緩存中加載一系列常量apc_sma_info?— 取回APC的共享內(nèi)存分配信息apc_store?— 在數(shù)據(jù)存儲(chǔ)中緩存一個(gè)變量APCIterator類APCIterator?類使得遍歷大容量APC緩存更容易,這是很有幫助的因?yàn)樗试S同時(shí)獲取已經(jīng)定義的每個(gè)被鎖定實(shí)例的條目數(shù),因此它釋放的其他活動(dòng)的緩存鎖,而不是阻礙整個(gè)緩存以完成獲取100(默認(rèn))個(gè)緩存數(shù)據(jù)的迭代,在大緩存條目。 此外,使用正則匹配效率更高,因?yàn)樗桓臑镃級(jí)別的實(shí)現(xiàn)。
方法列表APCIterator::__construct?— 構(gòu)造一個(gè) APCIterator 迭代器對(duì)象APCIterator::current?— 獲取當(dāng)前項(xiàng)APCIterator::getTotalCount?— 獲取總數(shù)APCIterator::getTotalHits?— 獲取緩存命中數(shù)APCIterator::getTotalSize?— 獲取所有緩存的尺寸大小APCIterator::key?— Get iterator key獲取迭代器的鍵APCIterator::next?— 移到下一項(xiàng)APCIterator::rewind?— 倒退迭代器APCIterator::valid?— 檢查當(dāng)前位置是否有效相關(guān)文章:
1. 部署vue+Springboot前后端分離項(xiàng)目的步驟實(shí)現(xiàn)2. html清除浮動(dòng)的6種方法示例3. JavaScript實(shí)現(xiàn)組件化和模塊化方法詳解4. Python基于Serializer實(shí)現(xiàn)字段驗(yàn)證及序列化5. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟6. PHP字符串前后字符或空格刪除方法介紹7. 網(wǎng)頁中img圖片使用css實(shí)現(xiàn)等比例自動(dòng)縮放不變形(代碼已測(cè)試)8. Python安裝并操作redis實(shí)現(xiàn)流程詳解9. JSP之表單提交get和post的區(qū)別詳解及實(shí)例10. AJAX實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作詳解【java后臺(tái)】
