PHP緩存工具XCache安裝與使用方法詳解
本文實(shí)例講述了PHP緩存工具XCache安裝與使用方法。分享給大家供大家參考,具體如下:
XCache是另外一種在PHP中使用的Opcode緩存工具。像APC一樣,XCache在共享內(nèi)存中存儲Opcode,并使用緩存的Opcode來響應(yīng)對PHP腳步的請求。
在Windows系統(tǒng)上安裝XCache
1、在http://xcache.lighttpd.net/pub/ReleaseArchive 根據(jù)你的PHP版本,下載對應(yīng)的軟件包。
2、解壓后把php_xcache.dll復(fù)制到ext目錄中
3、在PHP.ini文件加入
[XCache] Zend_extension_ts=php_xcache.dall
在Liunx系統(tǒng)上安裝XCache
wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz tar -zxvf xcache-1.3.2.tar.gz cd xcache-1.3.2 phpize ./configure --enable-xcache make make install doc.codesky.net
打開php.ini文件,增加如下代碼:
[xcache-common] ; change me - 64 bit php => /usr/lib64/php/modules/xcache.so ; 32 bit php => /usr/lib/php/modules/xcache.so zend_extension = /usr/lib64/php/modules/xcache.so [xcache.admin] xcache.admin.auth = On xcache.admin.user = "mOo" ; xcache.admin.pass = md5($your_password) xcache.admin.pass = "" [xcache] xcache.shm_scheme = "mmap" xcache.size = 32M xcache.count = 1 xcache.slots = 8K xcache.ttl = 3600 xcache.gc_interval = 300 ; Same as aboves but for variable cache ; If you don't know for sure that you need this, you probably don't xcache.var_size = 0M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_maxttl = 0 xcache.var_gc_interval = 300 ; N/A for /dev/zero xcache.readonly_protection = Off xcache.mmap_path = "/dev/zero" xcache.cacher = On xcache.stat = On
注意修改zend_extension = /usr/lib64/php/modules/xcache.so為正確的路徑。
XCache設(shè)置
xcache.admin.user (String) 管理認(rèn)證用戶名。默認(rèn)設(shè)置"mOo"
xcache.admin.pass (String)管理認(rèn)證密碼。默認(rèn)設(shè)置為"<empty string>"。此值應(yīng)該是MD5(你的密碼)
xcache.admin.enable_auth (String)啟用或禁用管理站點(diǎn)的身份驗(yàn)證。默認(rèn)值"on"
xcache.test (String)啟用或禁用測試功能
xcache.coredump_dir (String)在遇到故障時(shí),放置核心轉(zhuǎn)儲的目錄。必須是PHP可寫入的目錄。保留為空帶表禁用
xcache.cacher (Boolean) 啟用或禁用Opcode 緩存。默認(rèn)開啟
xcache.size (int)所有共享緩存的大小。如果為0,緩存將無法使用
xcache.count (int)緩存被分割的“塊”數(shù)。默認(rèn)值1
xcache.slots 哈希表提示。數(shù)字越大,哈希表內(nèi)進(jìn)行的搜索速度就越快。此值越高,所需內(nèi)存也越多
xcache.ttl (int)Opcode文件的生存時(shí)間。0=無限期緩存
xcache.gc_interval (秒) 觸發(fā)垃圾回收的時(shí)間間隔。默認(rèn)0
xcache.var_size (int)變量大小
xcache.var_count (int)變量個數(shù)
xcache.var_slots 可變數(shù)據(jù)槽設(shè)置
xcache.var_ttl (秒)可變數(shù)據(jù)的生存時(shí)間,默認(rèn)設(shè)置0
xcache.var_maxttl (秒)處理變量時(shí)最大的生存時(shí)間
xcache.var_gc_interval (秒)垃圾回收的生存時(shí)間
xcache.readonly_protection (Boolean)啟用ReadonlyProtection時(shí)可用。
xcache.mmap_path (String)用于只讀保護(hù)的文件路徑。這將限制兩個PHP組共享同一個/tmp/cache目錄
xcache.optimizer (Boolean)啟用或禁用優(yōu)化 默認(rèn)禁用
xcache.coverager (Boolean)啟用覆蓋范圍數(shù)據(jù)集合。
xcache.coveragerdump_directory (String)放置數(shù)據(jù)集合信息的目錄位置。默認(rèn)使用目錄/tmp/pcovis
實(shí)例
引用www.initphp.com 框架 Xcache類
<?php if (!defined('IS_INITPHP')) exit('Access Denied!'); /********************************************************************************* * InitPHP 2.0 國產(chǎn)PHP開發(fā)框架 Dao-XCACHE緩存 *------------------------------------------------------------------------------- * 版權(quán)所有: CopyRight By initphp.com * 您可以自由使用該源碼,但是在使用過程中,請保留作者信息。尊重他人勞動成果就是尊重自己 *------------------------------------------------------------------------------- * $Author:zhuli * $Dtime:2011-10-09 ***********************************************************************************/ class xcacheInit { /** * Xcache緩存-設(shè)置緩存 * 設(shè)置緩存key,value和緩存時(shí)間 * @param string $key KEY值 * @param string $value 值 * @param string $time 緩存時(shí)間 */ public function set_cache($key, $value, $time = 0) { return xcache_set($key, $value, $time);; } /** * Xcache緩存-獲取緩存 * 通過KEY獲取緩存數(shù)據(jù) * @param string $key KEY值 */ public function get_cache($key) { return xcache_get($key); } /** * Xcache緩存-清除一個緩存 * 從memcache中刪除一條緩存 * @param string $key KEY值 */ public function clear($key) { return xcache_unset($key); } /** * Xcache緩存-清空所有緩存 * 不建議使用該功能 * @return */ public function clear_all() { $tmp['user'] = isset($_SERVER['PHP_AUTH_USER']) ? null : $_SERVER['PHP_AUTH_USER']; $tmp['pwd'] = isset($_SERVER['PHP_AUTH_PW']) ? null : $_SERVER['PHP_AUTH_PW']; $_SERVER['PHP_AUTH_USER'] = $this->authUser; $_SERVER['PHP_AUTH_PW'] = $this->authPwd; $max = xcache_count(XC_TYPE_VAR); for ($i = 0; $i < $max; $i++) { xcache_clear_cache(XC_TYPE_VAR, $i); } $_SERVER['PHP_AUTH_USER'] = $tmp['user']; $_SERVER['PHP_AUTH_PW'] = $tmp['pwd']; return true; } /** * Xcache驗(yàn)證是否存在 * @param string $key KEY值 */ public function exists($key) { return xcache_isset($key); } }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術(shù)總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)獲取毫秒時(shí)間戳的方法【使用microtime()函數(shù)】
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取毫秒時(shí)間戳的方法,結(jié)合實(shí)例形式分析了php使用microtime()函數(shù)獲取、轉(zhuǎn)換毫秒級時(shí)間戳的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03使用游標(biāo)進(jìn)行PHP SQLSRV查詢的方法與注意事項(xiàng)
在 PHP 中使用 SQLSRV 查詢時(shí),如果查詢結(jié)果集較大,可以考慮使用游標(biāo)來提高查詢效率。使用游標(biāo)可以將查詢結(jié)果集分成多個小部分進(jìn)行處理,減輕服務(wù)器的負(fù)擔(dān),提高查詢性能2023-05-05php環(huán)境套包 dedeampz 偽靜態(tài)設(shè)置示例
這篇文章主要介紹了php環(huán)境套包 dedeampz 偽靜態(tài)設(shè)置,需要的朋友可以參考下2014-03-03PHP面向?qū)ο蟪绦蛟O(shè)計(jì)方法實(shí)例詳解
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)方法,結(jié)合實(shí)例形式詳細(xì)分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)中所涉及的類的概念、定義、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承、重載、接口、抽象類等概念與使用技巧,需要的朋友可以參考下2016-12-12PHP排序算法之冒泡排序(Bubble Sort)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP排序算法之冒泡排序(Bubble Sort)實(shí)現(xiàn)方法,參照大話數(shù)據(jù)結(jié)構(gòu)中的算法,結(jié)合實(shí)例形式較為詳細(xì)的分析了冒泡排序的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04