PHP缓存工具XCache安装与使用方法详解


Posted in PHP onApril 09, 2018

本文实例讲述了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

打开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
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程序设计有所帮助。

PHP 相关文章推荐
967 个函式
Oct 09 PHP
?生?D片??C字串
Dec 06 PHP
PHP 实现多服务器共享 SESSION 数据
Aug 15 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
解析yii数据库的增删查改
Jun 20 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
学习PHP session的传递方式
Jun 15 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
Swoole实现异步投递task任务案例详解
Apr 02 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 #PHP
PHP创建自己的Composer包方法
Apr 09 #PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 #PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 #PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 #PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 #PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 #PHP
You might like
资料注册后发信小技巧
2006/10/09 PHP
php+javascript的日历控件
2009/11/19 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
ASP Json Parser修正版
2009/12/06 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
js时间控件只显示年月
2017/01/08 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
python原始套接字编程示例分享
2014/02/21 Python
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
对Python中内置异常层次结构详解
2018/10/18 Python
python异步存储数据详解
2019/03/19 Python
python递归法解决棋盘分割问题
2019/07/17 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
营销总经理岗位职责
2014/02/02 职场文书
统计岗位职责
2014/02/21 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
运动会稿件100字
2014/09/24 职场文书
初中家长评语大全
2014/12/26 职场文书
银行催款通知书
2015/04/17 职场文书
详解JS数组方法
2021/11/20 Javascript
Python学习之迭代器详解
2022/04/01 Python