VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP缓存工具XCache安装与使用方法详解

篇文章主要介绍了PHP缓存工具XCache安装与使用方法,较为详细的分析了缓存工具XCache在Windows及Linux平台安装与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

  1. wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.gz 
  2. tar -zxvf xcache-1.3.2.tar.gz 
  3. cd xcache-1.3.2 
  4. phpize 
  5. ./configure --enable-xcache 
  6. make 
  7. make install doc.codesky.net 

打开php.ini文件,增加如下代码:

  1. [xcache-common] 
  2. ; change me - 64 bit php => /usr/lib64/php/modules/xcache.so 
  3. ; 32 bit php => /usr/lib/php/modules/xcache.so 
  4. zend_extension = /usr/lib64/php/modules/xcache.so 
  5. [xcache.admin] 
  6. xcache.admin.auth = On 
  7. xcache.admin.user = "mOo" 
  8. ; xcache.admin.pass = md5($your_password
  9. xcache.admin.pass = "" 
  10. [xcache] 
  11. xcache.shm_scheme =    "mmap" 
  12. xcache.size =        32M 
  13. xcache.count =         1 
  14. xcache.slots =        8K 
  15. xcache.ttl  =       3600 
  16. xcache.gc_interval =     300 
  17. ; Same as aboves but for variable cache 
  18. ; If you don't know for sure that you need this, you probably don'
  19. xcache.var_size =      0M 
  20. xcache.var_count =       1 
  21. xcache.var_slots =      8K 
  22. xcache.var_ttl  =       0 
  23. xcache.var_maxttl  =     0 
  24. xcache.var_gc_interval =   300 
  25. ; N/A for /dev/zero 
  26. xcache.readonly_protection = Off 
  27. xcache.mmap_path =  "/dev/zero" 
  28. xcache.cacher =        On 
  29. 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类

  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.    * Xcache缓存-设置缓存 
  15.    * 设置缓存key,value和缓存时间 
  16.    * @param string $key  KEY值 
  17.    * @param string $value 值 
  18.    * @param string $time 缓存时间 
  19.    */ 
  20.   public function set_cache($key$value$time = 0) { 
  21.     return xcache_set($key$value$time);; 
  22.   } 
  23.   /** 
  24.    * Xcache缓存-获取缓存 
  25.    * 通过KEY获取缓存数据 
  26.    * @param string $key  KEY值 
  27.    */ 
  28.   public function get_cache($key) { 
  29.     return xcache_get($key); 
  30.   } 
  31.   /** 
  32.    * Xcache缓存-清除一个缓存 
  33.    * 从memcache中删除一条缓存 
  34.    * @param string $key  KEY值 
  35.    */ 
  36.   public function clear($key) { 
  37.     return xcache_unset($key); 
  38.   } 
  39.   /** 
  40.    * Xcache缓存-清空所有缓存 
  41.    * 不建议使用该功能 
  42.    * @return 
  43.    */ 
  44.   public function clear_all() { 
  45.     $tmp['user'] = isset($_SERVER['PHP_AUTH_USER']) ? null : $_SERVER['PHP_AUTH_USER']; 
  46.     $tmp['pwd'] = isset($_SERVER['PHP_AUTH_PW']) ? null : $_SERVER['PHP_AUTH_PW']; 
  47.     $_SERVER['PHP_AUTH_USER'] = $this->authUser; 
  48.     $_SERVER['PHP_AUTH_PW'] = $this->authPwd; 
  49.     $max = xcache_count(XC_TYPE_VAR); 
  50.     for ($i = 0; $i < $max$i++) { 
  51.       xcache_clear_cache(XC_TYPE_VAR, $i); 
  52.     } 
  53.     $_SERVER['PHP_AUTH_USER'] = $tmp['user']; 
  54.     $_SERVER['PHP_AUTH_PW'] = $tmp['pwd']; 
  55.     return true; 
  56.   } 
  57.   /** 
  58.    * Xcache验证是否存在 
  59.    * @param string $key  KEY值 
  60.    */ 
  61.   public function exists($key) { 
  62.     return xcache_isset($key); 
  63.   } 
  64. }
出处:
http://www.phpfensi.com/php/20210907/17982.html

 


相关教程