大致方向:
1.页面静态化:适用于不是经常改动的页面
伪静态:将动态地址转换为静态地址
纯静态:分为局部纯静态、全部纯静态
buffer:缓冲区,一个内存地址空间,主要用于存储数据
输出流程:内容 -> php buffer -> tcp -> 终端
buffer缓冲区的开启:
1. 默认php.ini中已经开启了
2. ob_start()开启缓冲区 读取缓冲区内容ob_get_contents()
实现纯静态化基本方式:
1.file_put_contents()
2.使用php内置缓存机制实现页面静态化:output_buffering
常用ob函数:
ob_start() 打开输出控制缓冲区(开启缓冲区)
ob_get_contes() 返回输出缓冲区的内容
ob_clean() 清空缓冲区内容
ob_get_clean() 得到当前缓冲区内容,并清空缓冲区内容
这个函数相当于:先使用ob_get_contents()再使用ob_clean()
实现:
1.连接数据库,将数据读取出来
2.将读取出来的数据填充到模板中
3.把动态的页面转化为静态页面,生成纯静态文件
使用file_put_contents('aaa.html',ob_get_clean())这样就生成了对应的纯静态文件
三种触发方式:如何触发系统生成纯静态化页面方式(什么时候重新生成新的静态化文件)
1.页面添加缓存时间:到这个时间点进行静态化
2.手动触发来生成静态化文件
3.crontab定时扫描程序
页面添加缓存时间:
流程:用户访问页面 -> 页面时间是否过期
如果过期了,访问动态页面,并生成静态化文件
如果未过期,访问静态化文件
手动触发方式:
在后台建立一个对应的更新按钮来生成新的静态化文件
crontab定时扫描程序:
分时日月周 php /test.php (定时执行)
如*/5 * * * * php /test.php (每五分钟执行一次)
局部静态化实现:
ajax方式:
步骤:编写接口 -> ajax请求接口操作
2.优化数据库
3.使用负载均衡
4.使用缓存