PHP性能优化
来源:互联网 发布:七彩网络成绩 编辑:程序博客网 时间:2024/05/17 00:56
函数
1)、 函数职责清晰,一个函数只干一件事,不要杂揉过多的业务逻辑
2)、 函数代码体不要超过20行,反之,考虑拆分。
3)、 优先使用php内置函数
4)、 常量与函数同时能干一件事,优先使用常量。
例如:
· phpversion() < PHP_VERSION · get_class() < __CLASS__ · is_null() < NULL ===
5)、 echo 的性能好于print,输入多个变量的时候用
echo $str,$str1
不用.连接符
6)、
$_SERVER[REQUEST_TIME];//替换time();
7)、 字符串替换
strtr()->str_replace()->preg_replace()->epreg();
8)、 发挥trim最大功效,替换substr。
$filepath=trim($filename,’/’).’/’;
9)、Isset/empty 虽然两个函数功能有所差异,但在同样的情况下推荐使用 empty()
10)、isfile/file_exist 两个函数的功能有所不同,file_exist既可判断文件是否存在,也可以判断目录是否存在,在同样的情况下推荐使用is_file
文件
1)、 减少文件包含数,减少磁盘 IO
2)、 使用完整路径,或者容易转换的相对路径。避免在 include_path 查找
3)、 文件的代码行数不要超过 2000 行
4)、Require_once/include_once 效率低于 require/include, 需要额外的去查看系统是否已经调用过这个文件. 因为它们在一个 opcode 缓存下的调用非常慢
5)、程序执行文件用 requie/require_once,缓存文件用include/include_once。Include 效率好于 require
6)、优化 spl 中的文件自动加载机制,可参靠 yii
7)、类库文件加载,是否考虑类是否已经实例化,可考虑采用设计模式之单例模式
8)、文件读写的并发性
字符串
1)、 用单引号替代双引号引用字符串;避免检索字符串中的变量
判断
1)、 逻辑判断请优先使用switch 的方式,对于业务逻辑相对较多的情况请选择if/else,提高代码的可读性
2)、 尽量控制if/else判断的个数,如果太多请考虑功能优化或代码优化
3)、 尽量使用恒等用于比较判断,恒等的效率高于等于,而且还能避免一些类型强制转换的错误
4)、 if/else与_&&,单条语句判断请选择&&的形式, &&的效率高于if/else,如下 :
if ($a == 1) { $b = 2; }
可选择为
($a == 1) && $b = 2;
缓存
1)、 使用php加速器,缓冲opcode
2)、 例用memcache/nosql
3)、 使用内存数据库、
4)、 使用文件缓存
5)、 缓冲功能
数据库优化
1)、 合理的商业需求
2)、 数据库 schema 架构优化
3)、 垂直与水平分库分表
4)、 索引优化,查询优化
5)、 第三方开源检索工具(sphinx)
6)、 主从数据库服务器的使用。
- 关于PHP性能优化
- Lighttpd+PHP性能优化
- PHP性能优化
- PHP的性能优化
- php性能优化技巧
- PHP.ini 性能优化
- PHP 性能优化技巧
- php 性能优化
- PHP 性能优化技巧
- PHP 性能优化技巧
- PHP.ini 性能优化
- PHP性能优化总结
- PHP 性能 优化 缓存
- 优化php性能
- PHP性能优化
- PHP.ini 性能优化
- PHP 性能优化技巧
- PHP 性能优化技巧
- Linux权限管理命令
- MySQL中的锁(表锁、行锁)
- SQL语句常见优化十大案例
- 椭圆机会不会练出肌肉腿
- 把时间当作朋友---读书笔记,我们要推迟满足感
- PHP性能优化
- 欢迎使用CSDN-markdown编辑器
- 我的第一次友盟分享集成问题
- iOS隐藏导航条1px的底部横线
- 点击listview、gridview条目时换背景
- 第7节--KNN算法
- 源码-Oracle数据库管理-第十二章-使用PL/SQL创建Oracle程序-Part 2(PL/SQL语言概览)
- android开发,如何使用git托管代码,如何在android studio上使用git管理代码
- 关于初学者如何学习Unity3D的问题-_-!(纯吐槽)