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 相关文章推荐
我常用的几个类
Oct 09 PHP
PHP产生随机字符串函数
Dec 06 PHP
PHP通用分页类page.php[仿google分页]
Aug 31 PHP
学习使用curl采集curl使用方法
Jan 11 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
Jun 17 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
Apr 06 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
PHP中读写文件实现代码
2011/10/20 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
JS实现多功能计算器
2020/10/28 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
如何用Python绘制3D柱形图
2020/09/16 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
实习生单位鉴定意见
2013/12/04 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
学校教代会开幕词
2016/03/04 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
Python实现滑雪小游戏
2021/09/25 Python