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 相关文章推荐
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
深入PHP变量存储的详解
Jun 13 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
PHP技术开发微信公众平台
Jul 22 PHP
Joomla调用系统自带编辑器的实现方法
May 05 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
PHP三种方式实现链式操作详解
Jan 21 PHP
PHP批量删除jQuery操作
Jul 23 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
php弹出提示框的是实例写法
Sep 26 PHP
php操作redis数据库常见方法实例总结
Feb 20 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
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
js实现打字小游戏
2019/12/17 Javascript
python生成lmdb格式的文件实例
2018/11/08 Python
python 同时运行多个程序的实例
2019/01/07 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
财务科科长岗位职责
2014/03/10 职场文书
乳制品整治工作方案
2014/05/29 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
公司活动总结范文
2014/07/01 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
2015年元宵节活动总结
2015/02/06 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
城南旧事电影观后感
2015/06/16 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
golang interface判断为空nil的实现代码
2021/04/24 Golang
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers