简单说说php优化那些事

简单说说php优化那些事

ID:21780251

大小:89.50 KB

页数:6页

时间:2018-10-24

简单说说php优化那些事 _第1页
简单说说php优化那些事 _第2页
简单说说php优化那些事 _第3页
简单说说php优化那些事 _第4页
简单说说php优化那些事 _第5页
资源描述:

《简单说说php优化那些事 》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、简单说说PHP优化那些事传智播客作为中国PHP培训的领头羊,对PHP的研究都是走在互联网发展的潮流最前沿,把最新最好的技术教导给学生。同时,也有很多快捷方便的技术和工具介绍给各位爱学习的开发者们。我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。下面我想讲讲我对PHP优化的理解。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。  进行大范围的优化,而不是死啃某些程序代码  我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不

2、是对你的PHP代码加以改进从而提高程序的运行速度,因为比起你将程序中的正则优化为字符串处理函数从而提升程序速度来说,在大范围内进行的优化所需要的代价要比这个小的多,而获得报酬却要丰厚的多。  在非代码处进行优化有以下好处:  1、通常情况下能够大大提高效率  2、不会危及到代码的完整性  3、能够快速部署  缓存技术  下面来说说常用的缓存技术,通过这些缓存技术能够大大的提高效率  在说到缓存技术的时候不得不提到memcached,memcached是高效、快速的分布式内存对象缓存系统,主要用于加速WEB动态应用程序。  Memcached

3、的原理  memcached是以守护程序方式运行于一个或多个服务器中,等待接收客户端的连接操作,客户端可以由各种语言编写(例如PHP)。PHP等客户端在与memcached服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符key,存取操作均通过这个key进行,保存到memcached中的对象实际上是放置内存中的,并不是保存在cache文件中的,这也是为什么memcached能够如此高效快速的原因。  说完memcached,下面来说说常用的缓存方法  1、编译与OPCODE缓存  因为PHP是解释型的语言,所

4、以每个PHP文件在运行的时候都需要编译后再执行,同一个文件,不同的用户访问,或者同一个用户不同时间访问同一个文件,每次都需要重新编译然后运行,这样就耗费了大量时间。  通过编译缓存每个文件在修改之后只编译一次这样就减少了文件IO操作,用户访问后机器指令直接从内存中取出并执行而不是硬盘中读出。  最常见的PHP编译缓存工具有:APC,Accelerator,xcache  2、全局页面缓存–SquidCache  SquidCache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器,Squid作为

5、网页服务器的前置cache服务器通过缓存相关请求来提高Web服务器的速度。  3、局部缓存之SQL缓存  在大多数应用程序中主要的瓶颈往往可以追溯到数据库的操作中,一般都是因为复杂的数据库查询而耗费了大量时间,而SQL缓存可以大大降低复杂查询造成的负荷。  SQL缓存的例子(使用了memcached扩展)  代码片段:  $key=md5(“somesortofsqlquery”);  if(!($result=memcache_get($key))){  $result=$pdo->query($qry)->fetchAll();  //

6、缓存查询结果一小时  memcache_set($key,$result,NULL,3600);  }  4、局部缓存之代码块缓存  为了优化PHP程序,有时候我们不得不优化一个个代码段来减少那么一点点的执行的时间,但是比起优化复杂的不同的PHP代码段还不如通过缓存来直接忽略这些代码段的优化,这样做的好处是:  1、能够很快的看到效果  2、不会破坏以前的代码  3、速度要比优化代码要快得多  代码块缓存的列子(同样使用了memcached扩展)  代码片段:  functioncomplex_function_abc($a,$b,$c){

7、  $key=__FUNCTION__.serialize  (func_get_args());  if(!($result=memcache_get($key))){  $result=//函数代码  //储存执行结果1小时  memcache_set($key,$result,NULL,3600);  }  return$result;  }  当然除了上述方法外还可以用到文件缓存(将数据库中的数据取出储存在文件中),还可以生成静态HTML文件等,但是这些方法的缓存还是将文件储存在硬盘上而不是内存中。  输出控制  除了上述缓存技术外

8、还可以通过输出控制来让程序执行的时间更少  下面通过PHP与APACHE来说说输出控制  1、PHP输出控制  这里最主要用到ob_start()以及PHP中的OB系列函数,这些

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。