2.缓存机制

<?php echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200';

2.缓存机制_第1张图片
2.缓存机制_第2张图片

解决方案:

1.把heander()信息放在头部
2.打开 ob 缓冲

2.缓存机制_第3张图片

如何打开 ob 缓存:

1.在 php.ini 中打开
2. ob_start()

ob1.php

<?php

//开启ob缓存
ob_start();
echo 'hello100';
header('content-type:text/html;charset=utf-8');
echo 'hello200';
echo 'hello300';

//获取ob缓存的数据
$str = ob_get_contents();
//把$str保存到文件中
file_put_contents('wjh.log',$str);
echo 'hello400';
echo 'hello500';
echo 'hello600';

wjh.log

hello100hello200hello300

几个原则:
2.缓存机制_第4张图片

情况缓存:

<?php //开启ob缓存 ob_start(); echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200'; echo 'hello300'; //清空 ob 缓存 ob_clean(); //获取ob缓存的数据 $str = ob_get_contents(); //把$str保存到文件中 file_put_contents('wjh.log',$str); echo 'hello400'; echo 'hello500'; echo 'hello600';

2.缓存机制_第5张图片

<?php

//开启ob缓存
ob_start();
echo 'hello100';
header('content-type:text/html;charset=utf-8');
echo 'hello200';
echo 'hello300';

//清空 ob 缓存
//ob_clean();
//该函数是清空ob中的数据,并关闭ob缓存
ob_end_clean();
echo 'hello400';
//获取ob缓存的数据
$str = ob_get_contents();
//把$str保存到文件中
file_put_contents('wjh.log',$str);

echo 'hello500';
echo 'hello600';

2.缓存机制_第6张图片

<?php //开启ob缓存 ob_start(); echo 'hello100'; header('content-type:text/html;charset=utf-8'); echo 'hello200'; echo 'hello300'; //清空 ob 缓存 //ob_clean(); //该函数是清空ob中的数据,并关闭ob缓存 //ob_end_clean(); ob_clean(); echo 'hello400'; //获取ob缓存的数据 $str = ob_get_contents(); //把$str保存到文件中 file_put_contents('wjh.log',$str); echo 'hello500'; echo 'hello600';

2.缓存机制_第7张图片

<?php

//开启ob缓存
ob_start();
echo 'hello100';
header('content-type:text/html;charset=utf-8');
echo 'hello200';

//把 ob 缓存的数据,刷新到程序缓存 ,并关闭
ob_end_flush(); 
echo 'hello300';

$str = ob_get_contents();
file_put_contents('wjh.log',$str); //所以文件为空

echo 'hello500';
echo 'hello600';

2.缓存机制_第8张图片

<?php

//开启ob缓存
ob_start();
echo 'hello100';
header('content-type:text/html;charset=utf-8');
echo 'hello200';

//把 ob 缓存的数据,刷新到程序缓存 ,并关闭
//ob_end_flush();

//把 ob 缓存的数据,刷新到程序缓存 ,不关闭
ob_flush();
echo 'hello300';

$str = ob_get_contents();
file_put_contents('wjh.log',$str); //所以文件为空

echo 'hello500';
echo 'hello600';

2.缓存机制_第9张图片

ob2.php

<?php //把程序缓存的数据,强制刷新到浏览器缓冲 //flush(); //不同的浏览器需要字符到一定量才显示,用下面这句话 //echo str_repeat('',1024); //ob缓存要关闭,才可以看到效果 for ($i = 0 ; $i < 5 ; $i++) { echo $i; //把程序缓存的数据,强制刷新到浏览器缓冲 flush(); //休眠1秒钟,在sleep这个过程中,http连接没有断 sleep(1); }

2.缓存机制_第10张图片

2.缓存机制_第11张图片

你可能感兴趣的:(缓存机制)