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 相关文章推荐
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
PHP高级对象构建 工厂模式的使用
Feb 05 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
PHP实现返回JSON和XML的类分享
Jan 28 PHP
php similar_text()函数的定义和用法
May 12 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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框架Phpbean说明
2008/01/10 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
jsonp原理及使用
2013/10/28 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
进一步探究Python中的正则表达式
2015/04/28 Python
python如何读写csv数据
2018/03/21 Python
Django的Modelforms用法简介
2019/07/27 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python如何访问字符串中的值
2020/02/09 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
2020/07/01 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
自我鉴定范文300字
2013/10/01 职场文书
毕业生求职简历的自我评价
2013/10/23 职场文书
抽样调查项目计划书
2014/04/24 职场文书
投标授权委托书范文
2014/08/02 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
财务务虚会发言材料
2014/10/20 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript