PHP缓存机制

使用php自身的缓存机制

如果要测试php自己的缓存机制, 需要配置php.ini 文件

display_errors=On

output_buffering=Off

error_reporting= 设置错误级别

两种缓冲区:outputbuffer和程序缓存
ob缓存关闭以后就放到程序缓存,程序缓存必须放到header后面,否则报错

函数:

ob_start(); //开启缓存

ob_clean(); //清空 outputbuffer的内容

ob_end_clean(); //关闭ob缓存,同时清空

ob_flush(); //输出ob内容,并清空,但不关闭

ob_end_flush(); //把ob缓存的内容输出,并关闭ob

ob_get_contents();  //获取output_buffering的内容

测试题:

<?php 

ob_start();

echo "abc";

header("content-type:text/html;charset=utf-8");

echo "hello";

ob_clean();

echo "aa";

header("content-type:text/html;charset=utf-8");

?>

输出:aa
不报错
没有关闭,aa放入ob

<?php 

ob_start();

echo "abc";

header("content-type:text/html;charset=utf-8");

echo "hello";

ob_end_clean();

echo "aa";

header("content-type:text/html;charset=utf-8");

?>

输出:aa
报错
aa放入的是程序缓存

<?php 

ob_start();

echo "abc";

header("content-type:text/html;charset=utf-8");

echo "hello";

ob_flush();

echo "aa";

echo ob_get_contents();

?>

输出:abchelloaaaa
等待后面的一起输出

<?php 

ob_start();

echo "abc";

header("content-type:text/html;charset=utf-8");

echo "hello";

ob_end_flush();

echo "aa";

echo ob_get_contents();

?>

输出:abchelloaaabchelloaa
最后再关闭

以上就是我整理的PHP自身的缓存机制,希望今后的学习会对大家有所帮助。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

PHP缓存机制