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 gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
table标签的结构与合并单元格的实现方法
Jul 24 PHP
PHP json_decode函数详细解析
Feb 17 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
浅谈PHP无限极分类原理
Mar 14 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
javascript self对象使用详解
2016/10/18 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
python实现报表自动化详解
2017/11/16 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
Python 3.8 新功能全解
2019/07/25 Python
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
北京大学自荐信范文
2014/01/28 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
Python3.10的一些新特性原理分析
2021/09/15 Python
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers
详解SQL报错盲注
2022/07/23 SQL Server