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 相关文章推荐
深入理解PHP原理之异常机制
Aug 21 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
php文件系统处理方法小结
May 23 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 PHP
PHP文件打开关闭及读写操作示例解析
Aug 06 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
会自动逐行上升的文本框
2006/06/30 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
深入理解Node内建模块和对象
2019/03/12 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
python字符串连接方式汇总
2014/08/21 Python
python抽象基类用法实例分析
2015/06/04 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
使用Django开发简单接口实现文章增删改查
2019/05/09 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
化学教师教学反思
2014/01/17 职场文书
神农溪导游词
2015/02/11 职场文书
个人工作年终总结
2015/03/09 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书