大型网站提速关键技术(页面静态化,memcached,MySql优化)(三)
页面静态化的技术实现有两种方式
- 使用PHP自己的缓存机制
先说明一下OB缓存的机制.
ob1.php 代码:说明的ob的各个用法->项目中
☞ 如何打开ob缓存
① 配置php.ini 文件 output_buffering = 4096
② 直接在程序中 ob_start();
说明: 在php5.2这个版本 在php.ini有一个配置 output_buffering ,默认是关闭,如果是关闭,下面的代码就会警告.
1 <?php 2 3 //开启ob缓存 4 ob_start(); 5 echo "hello100"; 6 header("content-type:text/html;charset=utf-8"); 7 echo "hello200"; 8 //ob_clean()清空ob中数据. 9 //ob_clean(); 10 //该函数是清空ob中数据,并关闭ob缓存. 11 //ob_clean(); 12 //把ob缓存的数据,刷新到程序缓存,同时关闭ob 13 //ob_end_flush() ; 14 //把ob缓存数据,刷新到程序远程,不关闭ob 15 ob_flush(); 16 echo "hello300"; 17 //获取ob缓存的数据 18 $str=ob_get_contents(); 19 //把$str保存到文件中. 20 file_put_contents("d:/hsp.log",$str); 21 22 echo "hello500"; 23 echo "hello600"; 24 ?>
ob2.php 代码,说明了浏览器缓存存在
1 <?php 2 3 // 把程序缓存的数据,强制刷新到浏览器缓存. 4 //flush(); 5 //str_repeat 重复的输出多次字符 6 echo str_repeat(' ',1024); 7 for($i=0;$i<5;$i++){ 8 echo $i; 9 // 把程序缓存的数据,强制刷新到浏览器缓存. 10 flush(); 11 //休眠1秒钟, 在sleep这个过程中,http连接没有断 12 sleep(1); 13 } 14 ?>
2:使用模板替换技术实现(正则表达式)