在这里,我们通过一个代码示例进一步了解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自身的缓存机制,希望今后的学习会对大家有所帮助。
相关文章:
Atas ialah kandungan terperinci PHP缓存机制. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!