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 date()日期时间函数详解
May 16 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
win7+apache+php+mysql环境配置操作详解
Jun 10 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
php实现每天自动变换随机问候语的方法
May 12 PHP
php实现可运算的验证码
Nov 10 PHP
Zend Framework教程之配置文件application.ini解析
Mar 10 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 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导出oracle库的php代码
2009/04/20 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
PHP实现验证码校验功能
2017/11/16 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
页面使用密码保护代码
2013/04/10 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
代码详解django中数据库设置
2019/01/28 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
课程设计心得体会
2013/12/28 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
医药营销个人求职信
2014/04/12 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
新生入学欢迎词
2015/01/26 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
学术会议通知范文
2015/04/15 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
python实现简单聊天功能
2021/07/07 Python