這次帶給大家PHP快取工具XCache安裝與使用案例解析,PHP快取工具XCache安裝與使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
XCache是另一個在PHP中使用的Opcode快取工具。像APC一樣,XCache在共享記憶體中儲存Opcode,並使用快取的Opcode來回應對PHP腳步的請求。
在Windows系統上安裝XCache
#1、在http://xcache.lighttpd.net/pub/ReleaseArchive 根據你的PHP版本,下載對應的軟體包。
2、解壓縮後把php_xcache.dll複製到ext目錄中
#3、在PHP.ini檔加入
[XCache] Zend_extension_ts=php_xcache.dall
##在Liunx系統上安裝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
[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設定
xcache.admin.user (String) 管理認證使用者名稱。預設值"mOo"xcache.admin.pass (String)管理認證密碼。預設為"
xcache.admin.enable_auth (String)啟用或停用管理網站的驗證。預設值"on"
xcache.test (String)啟用或停用測試功能
xcache.coredump_dir (String)在遇到故障時,放置核心轉儲的目錄。必須是PHP可寫入的目錄。保留為空帶表停用
xcache.cacher (Boolean) 啟用或停用Opcode 快取。預設開啟
xcache.size (int)所有共用快取的大小。如果為0,快取將無法使用
xcache.count (int)快取分割的「區塊」數。預設值1
xcache.slots 哈希表提示。數字越大,哈希表內進行的搜尋速度就越快。此值越高,所需記憶體也越多
xcache.ttl (int)Opcode檔案的生存時間。 0=無限期快取
xcache.gc_interval (秒) 觸發垃圾回收的時間間隔。預設0
xcache.var_size (int)變數大小
xcache.var_count (int)變數個數
xcache.var_slots 可變資料槽設定
xcache.var_ttl (秒)可變資料的生存時間,預設設定0
xcache.var_maxttl (秒)處理變數時最大的生存時間
xcache.var_gc_interval (秒)垃圾回收的生存時間
xcache.readonly_protection (Boolean)啟用ReadonlyProtection時可用。
xcache.mmap_path (String)用於只讀保護的檔案路徑。這將限制兩個PHP群組共用同一個/tmp/cache目錄
xcache.optimizer (Boolean)啟用或停用最佳化 預設停用
xcache.coverager (Boolean)啟用覆蓋範圍
資料集合。 xcache.coveragerdump_directory (String)放置資料集合資訊的目錄位置。預設使用目錄/tmp/pcovis
實例
引用www.initphp.com 框架Xcache類別<?php if (!defined('IS_INITPHP')) exit('Access Denied!'); /********************************************************************************* * InitPHP 2.0 国产PHP开发框架 Dao-XCACHE缓存 *------------------------------------------------------------------------------- * 版权所有: CopyRight By initphp.com * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己 *------------------------------------------------------------------------------- * $Author:zhuli * $Dtime:2011-10-09 ***********************************************************************************/ class xcacheInit { /** * Xcache缓存-设置缓存 * 设置缓存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获取缓存数据 * @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); } }
以上是PHP快取工具XCache安裝與使用案例解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!