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-MySQL教程归纳总结
Jun 07 PHP
PHP mkdir()定义和用法
Jan 14 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php自定义加密与解密程序实例
Dec 31 PHP
php隐藏实际地址的文件下载方法
Apr 18 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
php curl操作API接口类完整示例
May 21 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
PHP策略模式写法
Apr 01 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
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
js 分页全选或反选标识实现代码
2011/08/09 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Python中的迭代器漫谈
2015/02/03 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
python opencv读mp4视频的实例
2018/12/07 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
说一下mysql, oracle等常见数据库的分页实现方案
2012/09/29 面试题
毕业生自我鉴定
2013/11/05 职场文书
思想品德课教学反思
2014/02/10 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS