最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
关于php页面静态化原理与例子
时间:2022-06-24 17:05:11 编辑:袖梨 来源:一聚教程网
每一个web项目,在日PV量达到十万级或百万级抑或更高时,你的网站响应速度就决定你的项目是能够继续活下去,或立马死掉的关键
除了升级服务器配置,优化代码,优化数据库之外,另一个技术?页面静态化,也是你不得不采用的技术
我们知道,页面在输出之前,会将输出数据暂时存放到BUFFER(缓冲器)中,然后才会输出到页面;所以,BUFFER中的数据,
就是你PHP代码执行,并且模板渲染之后,所生成的静态数据,即html页面;对于数据更新不是很快,或者页面信息实时性要求
不是很高的时候,我们可以将BUFFER的数据写入到一个html文件中,下次访问时,直接请求这个html页面,这样,中间就免去了PHP代码执行时间,
数据库数据查询时间以及模板渲染的时间,对于数据库I/O量大的页面,能很大地提高页面的响应速度
具体实现如下:
*/ /** * 这里是你的PHP逻辑代码 */ //在你页面所有输出内容之前,开启缓冲器 ob_start(); echo ‘hello,word!’ //当使用ob_start()函数之后,页面不会有输出,此时,所有的输出都已经存放在缓存器中 //然后我们将缓存器里面的内容拿出来,存放到一个静态的Html文件中 file_put_contents(‘index.html’,ob_get_contents());//函数ob_get_contents()表示取出当前缓冲器内容; //然后关闭缓冲器并清除缓冲器内容 ob_end_clean(); /*这样,一个静态的html文件就生成了,然后,需要做的只是判断什么时候该生成html文件,什么时候直接访问Html文件 提示:通过filemtime()函数判断Index.html文件的上次修改时间和当前时间间隔,来控制缓存有效期: */ //设置换成有效期为120秒 $cacheTime = ‘120’; if(time()-filemtime(‘index.html’)>$cacheTime){ //不在缓存有效期,重新生成缓存文件 //这里是你的PHP逻辑代码和生成缓存文件的代码 }else{ //在缓存有效期内,直接调用index.html文件 }
相关文章
- 王者荣耀侦探能力大测试攻略 王者荣耀侦探能力大测试怎么过 11-22
- 无期迷途主线前瞻兑换码是什么 11-22
- 原神欧洛伦怎么培养 11-22
- 炉石传说网易云音乐联动怎么玩 11-22
- 永劫无间手游确幸转盘怎么样 11-22
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22