设为首页 收藏本站
查看: 2204|回复: 0

[经验分享] PHP之XCache缓存使用

[复制链接]

尚未签到

发表于 2015-11-19 09:16:19 | 显示全部楼层 |阅读模式
  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)管理认证密码。默认设置为&quot;<empty string>&quot;。此&#20540;应该是MD5(你的密码)


xcache.admin.enable_auth (String)启用或禁用管理站点的身份验证。默认&#20540;&quot;on&quot;
xcache.test (String)启用或禁用测试功能
xcache.coredump_dir   (String)在遇到故障时,放置核心转储的目录。必须是PHP可写入的目录。保留为空带表禁用


xcache.cacher   (Boolean) 启用或禁用Opcode 缓存。默认开启
xcache.size    (int)所有共享缓存的大小。如果为0,缓存将无法使用
xcache.count  (int)缓存被分割的“块”数。默认&#20540;1
xcache.slots   哈希表提示。数字越大,哈希表内进行的搜索速度就越快。此&#20540;越高,所需内存也越多


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);
}
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140971-1-1.html 上篇帖子: 源码安装php5.5.7 php-fpm和xcache,以及xcache管理后台 下篇帖子: Xcache的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表