本文實例講述了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) 管理認證用戶名。默認設(shè)置"mOo"
xcache.admin.pass (String)管理認證密碼。默認設(shè)置為"empty string>"。此值應(yīng)該是MD5(你的密碼)
xcache.admin.enable_auth (String)啟用或禁用管理站點的身份驗證。默認值"on"
xcache.test (String)啟用或禁用測試功能
xcache.coredump_dir (String)在遇到故障時,放置核心轉(zhuǎn)儲的目錄。必須是PHP可寫入的目錄。保留為空帶表禁用
xcache.cacher (Boolean) 啟用或禁用Opcode 緩存。默認開啟
xcache.size (int)所有共享緩存的大小。如果為0,緩存將無法使用
xcache.count (int)緩存被分割的“塊”數(shù)。默認值1
xcache.slots 哈希表提示。數(shù)字越大,哈希表內(nèi)進行的搜索速度就越快。此值越高,所需內(nèi)存也越多
xcache.ttl (int)Opcode文件的生存時間。0=無限期緩存
xcache.gc_interval (秒) 觸發(fā)垃圾回收的時間間隔。默認0
xcache.var_size (int)變量大小
xcache.var_count (int)變量個數(shù)
xcache.var_slots 可變數(shù)據(jù)槽設(shè)置
xcache.var_ttl (秒)可變數(shù)據(jù)的生存時間,默認設(shè)置0
xcache.var_maxttl (秒)處理變量時最大的生存時間
xcache.var_gc_interval (秒)垃圾回收的生存時間
xcache.readonly_protection (Boolean)啟用ReadonlyProtection時可用。
xcache.mmap_path (String)用于只讀保護的文件路徑。這將限制兩個PHP組共享同一個/tmp/cache目錄
xcache.optimizer (Boolean)啟用或禁用優(yōu)化 默認禁用
xcache.coverager (Boolean)啟用覆蓋范圍數(shù)據(jù)集合。
xcache.coveragerdump_directory (String)放置數(shù)據(jù)集合信息的目錄位置。默認使用目錄/tmp/pcovis
實例
引用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和緩存時間
* @param string $key KEY值
* @param string $value 值
* @param string $time 緩存時間
*/
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驗證是否存在
* @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è)計入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP Opcache安裝和配置方法介紹
- PHP開啟opcache提升代碼性能
- PHP配置ZendOpcache插件加速
- PHP APC緩存配置、使用詳解
- Win下如何安裝PHP的APC拓展
- php中apc緩存使用示例
- 在Win7 中為php擴展配置Xcache
- 使用Xcache緩存器加速PHP網(wǎng)站的配置方法
- Linux下安裝php加速軟件Xcache的方法
- PHP加速 eAccelerator配置和使用指南
- php加速緩存器opcache,apc,xcache,eAccelerator原理與配置方法實例分析