PHP XCache缓存安装使用

110 篇文章 1 订阅

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文件加入
[plain]  view plain copy
  1. [XCache]  
  2. 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

打开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设置

xcache.admin.user   (String) 管理认证用户名。默认设置"mOo"
xcache.admin.pass  (String)管理认证密码。默认设置为"<empty string>"。此值应该是MD5(你的密码)

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]  view plain copy
  1. <?php  
  2. if (!defined('IS_INITPHP')) exit('Access Denied!');  
  3. /********************************************************************************* 
  4.  * InitPHP 2.0 国产PHP开发框架  Dao-XCACHE缓存 
  5.  *------------------------------------------------------------------------------- 
  6.  * 版权所有: CopyRight By initphp.com 
  7.  * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己 
  8.  *------------------------------------------------------------------------------- 
  9.  * $Author:zhuli 
  10.  * $Dtime:2011-10-09  
  11. ***********************************************************************************/  
  12. class xcacheInit {  
  13.       
  14.     /** 
  15.      * Xcache缓存-设置缓存 
  16.      * 设置缓存key,value和缓存时间 
  17.      * @param  string $key   KEY值 
  18.      * @param  string $value 值 
  19.      * @param  string $time  缓存时间 
  20.      */  
  21.     public function set_cache($key$value$time = 0) {   
  22.         return xcache_set($key$value$time);;  
  23.     }  
  24.       
  25.     /** 
  26.      * Xcache缓存-获取缓存 
  27.      * 通过KEY获取缓存数据 
  28.      * @param  string $key   KEY值 
  29.      */  
  30.     public function get_cache($key) {  
  31.         return xcache_get($key);  
  32.     }  
  33.       
  34.     /** 
  35.      * Xcache缓存-清除一个缓存 
  36.      * 从memcache中删除一条缓存 
  37.      * @param  string $key   KEY值 
  38.      */  
  39.     public function clear($key) {  
  40.         return xcache_unset($key);  
  41.     }  
  42.       
  43.     /** 
  44.      * Xcache缓存-清空所有缓存 
  45.      * 不建议使用该功能 
  46.      * @return 
  47.      */  
  48.     public function clear_all() {  
  49.         $tmp['user'] = isset($_SERVER['PHP_AUTH_USER']) ? null : $_SERVER['PHP_AUTH_USER'];  
  50.         $tmp['pwd'] = isset($_SERVER['PHP_AUTH_PW']) ? null : $_SERVER['PHP_AUTH_PW'];  
  51.         $_SERVER['PHP_AUTH_USER'] = $this->authUser;  
  52.         $_SERVER['PHP_AUTH_PW'] = $this->authPwd;  
  53.         $max = xcache_count(XC_TYPE_VAR);  
  54.         for ($i = 0; $i < $max$i++) {  
  55.             xcache_clear_cache(XC_TYPE_VAR, $i);  
  56.         }  
  57.         $_SERVER['PHP_AUTH_USER'] = $tmp['user'];  
  58.         $_SERVER['PHP_AUTH_PW'] = $tmp['pwd'];  
  59.         return true;  
  60.     }  
  61.       
  62.     /** 
  63.      * Xcache验证是否存在 
  64.      * @param  string $key   KEY值 
  65.      */  
  66.     public function exists($key) {  
  67.         return xcache_isset($key);  
  68.     }  
  69. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值