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中防止SQL注入实现代码
Feb 19 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
preg_match_all使用心得分享
Jan 31 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 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
关于Intype一些小问题的解决办法
2008/03/28 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
python字典操作实例详解
2017/11/16 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
python读写csv文件方法详细总结
2019/07/05 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
python退出循环的方法
2020/06/18 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
公司行政经理岗位职责
2013/12/24 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
卫生系统先进事迹
2014/05/13 职场文书
上海世博会口号
2014/06/19 职场文书
总经理检讨书
2014/09/15 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Python中time标准库的使用教程
2022/04/13 Python