thinkphp的静态缓存用法分析


Posted in PHP onNovember 29, 2014

本文较为详细的分析了thinkphp的静态缓存用法。分享给大家供大家参考。具体分析如下:

thinkphp里面内置了一个静态缓存功能,说静态缓存可能对我这种菜鸟而言不太好理解。其实静态缓存就是将THINKphp的某一个操作显示出来的页面生成一个HTML文件保存在设置的路径,当用户再次访问的时候,如果缓存没过期,那么这个操作将不再执行它下面的PHP程序,而是直接调用生成的HTML缓存文件。要使用静态缓存就需要在项目配置目录__APP__/Conf下面增加静态缓存规则文件 htmls.php,还需要在配置文件中打开静态缓存:

'HTML_CACHE_ON'=>TRUE

设置已经生成的静态页保存路径:

'HTML_PATH' =>'__APP__/html'
设置默认缓存有效时间:
'HTML_CACHE_TIME'=>'60'
读取静态页面的规则
'HTML_READ_TYPE'=>0
'HTML_READ_TYPE 设置成0,就是访问这个缓存了的操作的时候,该操作读取静态缓存页面显示。URL路径是该操作的路径.如果设置成1,访问该操作的时候,它就会重定向跳转到静态页面。URL就是缓存文件路径了。

接下来就要些缓存的规则了,也就是要设置一下 我们要对哪些操作进行静态缓存,缓存HTML的名称,和缓存时间了,

return array("操作名"=>array("要生成的HTML静态文件名称","设置缓存有效期","生成文件名称的规则") )
上面的"操作名"就是需要缓存的操作了,操作名又分三种形式.

1. 如果只写操作名称,那就是对项目下面所有模块的 这一操作名进行缓存。

2. 模块名称:操作名称,就表示只对该模块下面的该操作进行缓存。

3. '*' 表示 对所有的操作都缓存.生成静态文件的名称,可以更具当前的模块名称{:module}, 当前操作名称{:action},_GET _REQUEST _SERVER _SESSION _COOKIE的值 ($_xxx) 来设置.其中$_GET['xxx']参数可以直接用{xxx}表示。如果文件名称当中带有“/”那么系统会在保存目录中新建目录,如{:module}/{:action}系统就会在__APP__/html 目录下建立一共以当前模块名称命名的目录,然后生成以当 前操作名称命名的html文件了,缓存有效期,单位为秒,设置成-1表示永久缓存,生成文件名称的规则 就是 将 生成静态文件的名称 通过某个函数重新命名,比如md5.

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
生成静态页面的PHP类
Nov 25 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP 防恶意刷新实现代码
May 16 PHP
php基础学习之变量的使用
Jun 09 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
克隆一个新项目的快捷方式
Apr 10 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
php cli 小技巧
Jun 03 PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
PHP四种基本排序算法示例
Apr 09 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
thinkphp中memcache的用法实例
Nov 29 #PHP
thinkPHP实现瀑布流的方法
Nov 29 #PHP
php删除左端与右端空格的方法
Nov 29 #PHP
ThinkPHP自动完成中使用函数与回调方法实例
Nov 29 #PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 #PHP
Sublime里直接运行PHP配置方法
Nov 28 #PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 #PHP
You might like
留言板翻页的实现详解
2006/10/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
jQuery 使用手册(四)
2009/09/23 Javascript
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
用Python实现KNN分类算法
2017/12/22 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
JAVA程序员面试题
2012/10/03 面试题
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
事务机电主管工作职责
2014/02/25 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
PHP遍历数组的6种方式总结
2021/11/17 PHP
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang