三大缓存技术:
浏览器缓存 :
浏览器接收服务器返回的数据,每接收到一定的数据量,才展示到页面.
程序缓存:
php语言在运行过程中,每次产生的输出,都先存放在程序缓存空间,当整个程序执行结束,再返回给apache或nginx ,最后返回到浏览器,程序缓存是语言底层实现的,开发者无法操控和感知。
ob缓存:
php语言提供的缓存,是可以被开发者操控的。如果开启,则所有的php的输出,先进入ob缓存,在进入程序缓存,最后返回给apache或nginx。
ob缓存常用函数
ob_start():开启ob缓存
ob_get_clean();获取然后清除ob缓存内容,获取之后,ob缓存内容被删除,不存在了。
ob_get_contents():获取ob缓存内容,获取缓存后,ob缓存内容依然存在。
ob_get_flush():获取并送出ob缓存内容,送出到程序缓存。之后ob缓存内容没了。
ob_clean():清空ob缓存(删除)
ob_end_clean():清空并关闭ob缓存
ob_end_flush():送出并关闭ob缓存
ob缓存实现静态页面:
可以使用file_put_contents函数将字符串写入文件
filemtime函数获取文件上次被写入的时间
file_exists判断是否存在目录或文件
用这些函数可以实现缓存静态文件
伪静态:
通过重写机制实现看url是静态网页,其实访问到的是动态网页
可以通过apache重写机制进行配置
LoadModule rewrite_module modules/mod_rewrite.so
可以开启这个重写模式
AllowOverride All
修改虚拟主机配置文件