静态缓存可以大幅提升网站、接口的访问速度,对提升用户体验非常有帮助,刚好项目上也遇到这样的需求,在ThinkPHP3.2.3中实现前台页面静态缓存。
原理
静态缓存也就是将动态语言查询数据库然后渲染后的页面直接转换成文件(或者json)存储起来,当用户访问的时候,直接呈现给用户即可。
缓存前:
根据用户请求页面解析到对应控制器、方法;
查询数据库取出数据;
数据处理;
将数据渲染到模版输出;
缓存后:
根据用户请求定位到静态文件;
直接输出静态文件;
静态缓存通过简化处理流程(特别是连接数据库读取数据和数据处理),是可以大幅提升访问速度的。
实现步骤
1. 缓存配置:
在需要缓存的模块配置文件(如\Application\Home\Conf\config.php)中加入静态缓存配置:
// 静态缓存配置
'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 3600, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.html', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array( // 定义静态缓存规则
// 定义整个文章控制器
// 'Article:' => 'Article/{:action}_{id}