PHP缓存机制

亚连
亚连asal
2018-05-10 10:25:084189semak imbas

在这里,我们通过一个代码示例进一步了解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缓存机制

简单的php缓存类分享 php缓存机制_php实例

PHP页面静态化学习笔记之三:使用PHP缓存机制完成静态化

Atas ialah kandungan terperinci PHP缓存机制. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP常见的面试题Artikel seterusnya:php语言到底是什么?能做什么?