在php运行期间,php引擎要对php源码进行处理,(词法分析,语法分析等)然后生成opcode。

然后再运行。在这个阶段可以把opcode缓存起来,当下次需要运行这段程序的时候,就避免了再次 进行词法分析,语法分析,直接拿opcode来用。

eAccelerator就是这样的程序。

vld查看php的opcode:

http://pecl.php.net/package/vld/0.12.0/windows

在上面的地址下载vld,解压后 将 php_vld.dll,拷贝到ext目录下。

修改php.ini,增加“extension=php_vld.dll”;

要查看opcode,新建一个php脚本,cmd下执行

“E:\xampp\php>php -dvld.active=1 e:\htdocs\mytest\n.php”命令。

显示结果:

E:\xampp\php>php -dvld.active=1 e:\htdocs\mytest\n.php
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 13, Position 2 = 6
Branch analysis from position: 13
Return found
Branch analysis from position: 6
Jump found. Position 1 = 3
Branch analysis from position: 3
Jump found. Position 1 = 1
Branch analysis from position: 1
filename: E:\htdocs\mytest\n.php
function name: (null)
number of ops: 14
compiled vars: !0 = $i
line # * op fetch ext return operands
---------------------------------------------------------------------------------
30 0 > ASSIGN !0, 0
1 > IS_SMALLER ~1 !0, 100
2 > JMPZNZ 6 ~1, ->13
3 > POST_INC ~2 !0
4 FREE ~2
5 > JMP ->1
31 6 > CONCAT ~3 'a', !0
7 FETCH_W local $4 ~3
8 ASSIGN $4, !0
32 9 CONCAT ~6 'a', !0
10 FETCH_R local $7 ~6
11 ECHO $7
33 12 > JMP ->3
36 13 > > RETURN 1 branch: # 0; line: 30- 30; sop: 0; eop: 0; out1: 1
branch: # 1; line: 30- 30; sop: 1; eop: 2; out1: 13; out2: 6
branch: # 3; line: 30- 30; sop: 3; eop: 5; out1: 1
branch: # 6; line: 31- 33; sop: 6; eop: 12; out1: 3
branch: # 13; line: 36- 36; sop: 13; eop: 13
path #1: 0, 1, 13,
path #2: 0, 1, 6, 3, 1, 13,
012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
6566676869707172737475767778798081828384858687888990919293949596979899

安装eAccelerator:

下载:http://www.sitebuddy.com/php/accelerators/eaccelerator-windows-binaries

下载下来的文件解压后,将dll文件,贝到ext下

修改php.ini,开启

    [eAccelerator]
zend_extension_ts="C:/php/ext/eaccelerator.dll" //路径根据实际情况而定
eaccelerator.shm_size="32" //根据系统内存来定,默认16M,可以改成64M
eaccelerator.cache_dir="C:/php/temp" //前面创建的缓冲文件夹
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

配置redis:

下载http://www.redis.cn/download.html

解压后有两个dll文件,全部拷贝到ext目录下。[我拷贝到ext,还提示找不到。最后拷贝到php.exe目录下才不再报错]。

修改php.ini

添加

"extension=php_igbinary.dll

extension=php_vld.dll"

重启apache,phpinfo();可以查看是否启动。

测试redis:

$redis = new Redis();
$redis->connect("192.168.0.110","6379"); //php客户端设置的ip及端口
//存储一个 值
$redis->set("say","Hello World");
echo $redis->get("say"); //应输出Hello World //存储多个值
$array = array('first_key'=>'first_val',
'second_key'=>'second_val',
'third_key'=>'third_val');
$array_get = array('first_key','second_key','third_key');
$redis->mset($array);
var_dump($redis->mget($array_get));

 

php缓存相关的更多相关文章

  1. 浏览器缓存相关http头

    近期看雅虎黄金34条,学习下优化站点性能的方法. 当中有一条:"为文件头指定Expires或Cache-Control",详细来说指对于静态内容:设置文件头过期时间Expires的 ...

  2. 《前端之路》之 Cookie && localStorage && Session Storage 缓存相关

    08: Cookie && localStorage && Session Storage 缓存相关 客户端.前端 存储 一. 起 因 首先解释下为什么想来写这个关于前 ...

  3. Java缓存相关memcached、redis、guava、Spring Cache的使用

    随笔分类 - Java缓存相关 主要记录memcached.redis.guava.Spring Cache的使用 第十二章 redis-cluster搭建(redis-3.2.5) 摘要: redi ...

  4. Django的contenttypes应用、缓存相关

    一.django的contenttypes contenttypes 是Django内置的一个应用 , 可以追踪项目中所有app 和 model 的对应关系, 并记录djang_content_typ ...

  5. http中有关缓存相关的几个字段

    转载自:http://blog.csdn.net/lifeibo/article/details/5979572 Expires.Cache-Control.Last-Modified. ETag是R ...

  6. MySQL的Innodb缓存相关优化

    MySQL的Innodb缓存相关优化 INNODB 状态的部分解释 通过 命令 SHOW STATUS LIKE  'Innodb_buffer_pool_%' 查看  Innodb缓存使用率  (I ...

  7. contenttype应用 , 缓存相关

    一. Django的contenttypes contenttypes 是Django内置的一个应用,可以追踪项目中所有 app和model 的对应关系,并记录在 django_content_typ ...

  8. 网页缓存相关的HTTP头部信息详解

    前言 之前看完了李智慧老师著的<大型网站技术架构-核心原理与案例分析>这本书,书中多次提起浏览器缓存的话题,恰是这几天生产又遇到了一个与缓存的问题,发现自己书是没少看,正经走心的内容却不多 ...

  9. 浏览器缓存相关的Http头介绍:Expires,Cache-Control,Last-Modified,ETag

    转自:http://www.path8.net/tn/archives/2745 缓存对于web开发有重要作用,尤其是大负荷web系统开发中. 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存等.其中 ...

  10. ios 缓存相关信息收集

    链接:http://www.cnblogs.com/pengyingh/category/353093.html 使用NSURLCache让本地数据来代替远程UIWebView请求 摘要: 原文作者: ...

随机推荐

  1. 安装J2EE的SDK报错:could not find the required version of the Java(TM)2 Runtime Environment in '(null)'的解决办法。

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. 微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码

    微信开发中,首先遇到的问题就是处理怎样接收和响应用户消息 , 本文将向大家介绍一下方法和关键的代码. 本文使用的接口库是  :https://github.com/chendong152/Weixin ...

  3. Sample Ant Build File - WAR--reference

    I am using the Spring SimpleFormController example to illustrate the build process. The figure below ...

  4. Cookie中用户登录信息登录验证

    public class FormServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpSer ...

  5. 自己动手,丰衣足食!一大波各式各样的ImageView来袭!

    工作略忙,一直想自己打造一个开源控件却苦于没有时间,可是这种事情如果不动手就会一直拖下去,于是最近抽时间做了个简单的自定义形状的ImageView控件. 时间紧迫,目前仅支持正六边形.圆形.菱形.椭圆 ...

  6. Android(java)学习笔记162:Android启动过程(转载)

    转载路径为: http://blog.jobbole.com/67931/ 1. 关于Android启动过程的问题: 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样 ...

  7. c语言学习之基础知识点介绍(十九):内存操作函数

    一.malloc函数 /* 首先需要导入头文件 #include <stdlib.h> malloc void* malloc(n); n是字节大小 开辟堆空间,开辟的字节数以n为准 返回 ...

  8. Web前端/后端

       Web前端:         1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构.         2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器.         ...

  9. CSS常见选择器

    一.元素选择器 p,html,h1, h2 1.多个元素一起设置同一种风格, 则用逗号“,”隔开(选择器分组) 2.通配符选择,  *{Color:red}  表示文档中所有元素都为红色 二.类选择器 ...

  10. html-----014---统一资源定位器

    HTML 统一资源定位器 URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上冲浪时,会键入网址的域名,因为名称比 ...