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 Undefined index的问题
Jun 01 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
兼容PHP和Java的des加密解密代码分享
Jun 26 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
整理php防注入和XSS攻击通用过滤
Sep 13 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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写的采集程序
2007/03/16 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
微信小程序实现左滑动删除效果
2020/03/30 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python3字符串学习教程
2015/08/20 Python
python实现杨辉三角思路
2017/07/14 Python
python读取有密码的zip压缩文件实例
2019/02/08 Python
python操作gitlab API过程解析
2019/12/27 Python
PyTorch-GPU加速实例
2020/06/23 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
元旦红领巾广播稿
2014/02/19 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
会计专业自荐信范文
2015/03/05 职场文书
开会通知
2015/04/20 职场文书
四风之害观后感
2015/06/09 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
python小程序之飘落的银杏
2021/04/17 Python
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers