说说简洁

| 荷兰移民 |

【www.guakaob.com--荷兰移民】

篇一:《简单说说PHP优化》

简单说说PHP优化

我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。下面我想讲讲我对PHP优化的理解。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。

进行大范围的优化,而不是死啃某些程序代码

我这里所说的优化,基本上都是从服务器,Apache,数据库这些方面来进行的优化,而并不是对你的PHP代码加以改进从而提高程序的运行速度,因为比起你将程序中的正则优化为字符串处理函数从而提升程序速度来说,在大范围内进行的优化所需要的代价要比这个小的多,而获得报酬却要丰厚的多。

在非代码处进行优化有以下好处

l 通常情况下能够大大提高效率

l 不会危及到代码的完整性

l 能够快速部署

缓存技术

下面来说说常用的缓存技术,通过这些缓存技术能够大大的提高效率

在说到缓存技术的时候不得不提到memcached ,memcached是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序。

Memcached的原理

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

说完memcached,下面来说说常用的缓存方法

1、编译与OPCODE缓存

因为PHP是解释型的语言,所以每个PHP文件在运行的时候都需要编译后再执行,同一个文件,不同的用户访问,或者同一个用户不同时间访问同一个文件,每次都需要重新编译然后运行,这样就耗费了大量时间。

通过编译缓存每个文件在修改之后只编译一次这样就减少了文件IO操作,用户访问后机器指令直接从内存中取出并执行而不是从硬盘中读出。

最常见的PHP编译缓存工具有:APC,Accelerator,xcache

关于高级缓存可以参考:

/html/shipinjiaocheng/PHP100shipinjiaocheng/2010/0201/3897.html

2、全局页面缓存-- Squid Cache

Squid Cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器,Squid作为网页服务器的前置cache服务器通过缓存相关请求来提高Web服务器的速度

更多介绍请看这里:

3、局部缓存之SQL缓存

在大多数应用程序中主要的瓶颈往往可以追溯到数据库的操作中,一般都是因为复杂的数据库查询而耗费了大量时间,而SQL缓存可以大大降低复杂查询造成的负荷。

SQL缓存的例子(使用了memcached扩展)

代码片段

$key = md5(“some sort of sql query”);

if (!($result = memcache_get($key))) {

$result = $pdo->query($qry)->fetchAll();

// 缓存查询结果一小时 memcache_set($key, $result, NULL, 3600);

}

4、局部缓存之代码块缓存

为了优化PHP程序,有时候我们不得不优化一个个代码段来减少那么一点点的执行的时间,但是比起优化复杂的不同的PHP代码段还不如通过缓存来直接忽略这些代码段的优化,这样做的好处是

l 能够很快的看到效果

l 不会破坏以前的代码

l 速度要比优化代码要快得多

代码块缓存的列子(同样使用了memcached扩展)

代码片段

function complex_function_abc($a, $b, $c) {

$key = __FUNCTION__ . serialize

(func_get_args());

if (!($result = memcache_get($key))) {

$result = //函数代码

// 储存执行结果1小时

说说简洁

memcache_set($key, $result, NULL, 3600);

}

return $result;

}

当然除了上述方法外还可以用到文件缓存(将数据库中的数据取出储存在文件中),还可以生成静态HTML文件等,但是这些方法的缓存还是将文件储存在硬盘上而不是内存中。

输出控制

除了上述缓存技术外还可以通过输出控制来让程序执行的时间更少

下面通过PHP与APACHE来说说输出控制

1、PHP输出控制

这里最主要用到ob_start()以及PHP中的OB系列函数,这些函数可以做什么呢?

第一就是静态模版技术。所谓静态模版技术就是通过某种方式,使得用户在client端得到的是由PHP产生的html页面。如果这个html页面不会再被更新,那么当另外的用户再次浏览此页面时,程序将不会再调用PHP以及相关的数据库,对于某些信息量比较大的网站,例如sina,163,sohu。类似这种的技术带来的好处是非常巨大的。

代码示例:

代码片段

<?php

ob_start(); //打开缓冲区

?>说说简洁

php页面的全部输出

<?

$content = ob_get_contents(); //取得php页面输出的全部内容

$fp = fopen("output.html", "w"); //创建一个文件,并打开,准备写入

fwrite($fp, $content); //把php页面的内容全部写入output.html,然后……

fclose($fp);

?> 当然这个ob系列函数还有其他很多用处我就不在这里一一说明了。

2、apache输出控制

将SendBufferSize设置为页面大小,这样就能将页面一次性放在发送缓冲区从而增加处理速度。 SendBufferSize 指令

说明

TCP发送缓冲区大小(字节)

语法

SendBufferSize bytes

默认值

SendBufferSize 0

作用域

server config

状态

MPM

模块

beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker

说说简洁

这个指令设置服务器的TCP发送缓冲区的大小(字节)。提高这个值会导致两个后果:高速度和高潜伏时间(100ms左右)。如果设置为"0",将使用操作系统默认值。

通过源代码方式编译你的Apache/PHP/Database 可让你的程序增加10--15%的速度

下面再说说在代码优化的时候应该注意的

1、短代码不等于快的代码

很多人在写程序时希望将代码写的越简洁越好,但是越短的代码有时候反而需要更长的执行时间,所以哪怕是用更多的代码也不使用速度慢的代码

2、在写程序的时候更应该注重程序的扩展性,而不是追求速度说说简洁

3、在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码

4、微优化得不偿失

什么叫做微优化?就像前面所说的将正则表达式部分的代码改用字符串函数代替。这样做有以下缺点

l 花费时间较长

l 不会解决你的性能问题

l 很有可能会破坏以前的代码从而产生未知的错误

l 付出大于回报

这里还不得不提到一个误区,有些人为了让程序更加优化,在分析业务逻辑的时候便将优化考虑在内了,从而为了得到更优的代码而改动业务逻辑。这是十分愚蠢的想法,因为程序的目的便是为了处理现实中遇到的问题,是为这些问题服务的,怎么能本末倒置呢。

在优化代码之前 优化数据库

篇二:《简单伤感的QQ说说短语》

一、如果爱,为何总是若即若离。。。说说简洁

二、世界上最美丽的话语不是"我爱你",而是"在一起"。

三、悲伤才念情,寂寞才说爱。

四、你是第一个让我付出那么多的人,也会是最后一个。

五、记住,我曾经真的真的很爱你,很爱你。

六、亦梦亦醒,颗粒感的离散现实。

七、总是喜欢用玩笑的语气说着自己害怕的事情

八、愤怒之后,我们的眼泪成了轻描淡写。

九、友谊早在友谊之花凋谢之前就已不复存在

十、舍不得丢掉残留的温度,却忘了伤疤还在痛。

十一、花开后花又落,轮回也没结果,苔上雪告诉我,你没归来过。 十二、长大了就是越来越觉得以前的自己就素个煞笔

十三、我不需要婚纱,不需要教堂,我只需要你。

十四、没有你的日子就像一本没有书页的书。

十五、最简单的咒语不过是一个人的名字。

十六、抱着花等着你出来,等来的是你和她手牵手的画面。

十七、有些时候,你只是某人的练爱对象,而并不是恋爱对象。

十八、是否你一直言不由衷 ,逼走爱的人以后一个人痛

篇三:《简短的空间说说:我可以惯着你,也可以换了你》

1.只是因为在人群中多看了他一眼,他就让你上黑板答题。

2.就算我们关系再好,exo也是你开不起的玩笑。

3.一年四个季节都被你变成夏天,我才会在你面前总是被晒红了脸。

4.两个人之间的理想状态,朋友之上,恋人未满。简短的空间说说:我可以惯着你,也可以换了你

5.时光会咬人,你不走,便满身伤痕。

6.我以为我害怕的,只有告别,原来我同样害怕重逢。

7.有人考试靠实力,有人考试靠视力,我考试完全靠想象力。

8.得到的时候你在毁,失去的时候你在悔。

9.真的在乎一个人的时候,只要他对你冷淡一点,你的心就好像在流血。说说简洁
10.很多事只有两个人清楚,
11.我可以惯着你,也可以换了你。简短的空间说说:我可以惯着你,也可以换了你

12.不要总是怀恋过去,昨天的太阳永远晒不干今天的衣服。

13.我也曾经为了看你一眼,绕遍整个校园

14.不闻不问不一定是忘记了,但一定是疏远了。

15.我花光了这辈子所有的运气,只为了遇见他。

16.是不是我太过逞强,让你误以为我很坚强。

17.我有一万种想见你的理由,却少了一种能见你的身份。

18.只有回不了的过去,没有到不了的明天。

19.这个世界上我只相信两个人,一个是我,另一个不是你。

20.你没资格说我变了,知道有句话叫拜你所赐吗?

21.时间总能把不可或缺的人变得可有可无。

22.当你用手指指责别人的时候,别忘了还有三个手指指着自己。

23.破坏一段关系最简单的方法就是听信谣言。

24.牛逼的人不是有多少后台,而是能做多少人的后台。

25.当明星就是好,老公出轨都不用自己抓,全国人民都帮着抓。

相关推荐:简短的个性说说:你的世界与我无关,我的世界你只配旁观

篇四:《简短的伤感说说:一个字的回答真伤人,比如被自己喜欢的人说滚》

1.我看过最虐心的小说就是我和你的聊天记录。

2.别太容易为别人掏心掏肺,最后你只能够落下一个没心没肺。

3.有些东西失去了,比拥有更让我们刻骨铭心。

4.我像个路人看着你的生活,心酸的是你的喜怒哀乐全不是为我。简短的伤感说说:一个字的回答真伤人,比如被自己喜欢的人说滚

5.或许,笑着的人是在用最美的方式难受。

6.忘了自己曾经多单纯,不会脏话不会笑里藏刀。

7.有一种感情叫无缘,有一种放弃叫成全。

8.我以为我能逗你笑你就会喜欢上我,却没想到我居然输给了让你哭的人。

9.想你的时候,有些幸福,幸福的有些难过。

10.“你知道暗恋的人正好也喜欢你这叫什么吗?”“这叫想象力!”

11.哪敢再去打扰你,毕竟我不再讨你喜。

12.你如果认识从前的我,也许你会原谅现在的我。简短的伤感说说:一个字的回答真伤人,比如被自己喜欢的人说滚

13.我爱你,为了你的幸福,我愿意放弃一切,包括我。

14.他总为别人撑伞,
15.一刀一刀划着我的心脏说爱我,爱人你真幽默。

16.世上最痛苦的事之一,不是落单,而是身边有一圈人,让你感觉自己孤身一人。

17.与其在你想离开的世界里奔跑,还不如我转身就走。

18.有些人,你忘了,输入法却还记得。

19.现实教会我,不可能的事,别想;不可能的人,别等。

20.你把我的话当空气,我却把你的话当氧气。

21.人是会变的,你可以守住一个不变的承诺,却是守不住一颗善变的心。

22.一个字的回答真伤人,比如说被自己喜欢的人说滚。

23.也许每个人都有念念不能忘,爱的再卑微,也咬着牙不肯放的人。

24.如果有一天你忘了我,没关系我记得你就好了。

25.你上线了我上线,我上线了你隐身,我隐身了你上线……我懂了!

26.有一种心痛叫做“随便你”,有一种失望叫做“算了”。

27.有些痛,说不出来只能忍着,直到慢慢淡忘。

28.其实我没那么坚强,只是像多数人一样学会了伪装。

29.我爱你,用尽一切你知道或不知道的方式。

30.你走后,再也没有一个声音能让我在人海中突然回首张望。

相关推荐>>>
伤感短说说:我对你设置了特别关心,你却对我设置了访问权限
简短的空间说说:我可以惯着你,也可以换了你

本文来源:http://www.guakaob.com/yimin/325245.html

    热门标签

    HOT