php 缓存操作

php输出东西,会保存在一个php维护的内存里,称为buffer也行,缓存也行,都是一个意思。然后当这个buffer满了,php会自动往web server发送这些数据。

也就是说每次echo,并不一定会输出东西,而是保存在buffer里。

ob_start()的意思,可以理解为(但是实际上和我下面的说法有区别),这个buffer由ob_系列函数来来控制,也就是,PHP不会维护自己的 buffer,不会自动把buffer的内容自动发送到web server,直到你ob_end()或者类似的ob操作。

ob_函数一般用来捕获当前的输出,跟效率是没什么关系的。至于为什么捕获输出,原因很多,例如我捕捉输出,缓存到一个文件里,下次请求就可以直接读这个cache文件的内容作为输出了。

你可能感兴趣的:(PHP,Web,cache)