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新手上路(八)
Oct 09 PHP
php导入导出excel实例
Oct 25 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
ThinkPHP分页类使用详解
Mar 05 PHP
PHP多线程类及用法实例
Dec 03 PHP
php内存缓存实现方法
Jan 24 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
php自定义函数实现统计中文字符串长度的方法小结
Apr 15 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
python框架django项目部署相关知识详解
2019/11/04 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
Space NK英国站:英国热门美妆网站
2017/12/11 全球购物
2014年公务员退休工资改革方案
2014/10/01 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
健康教育主题班会
2015/08/14 职场文书
2016年情人节问候语
2015/11/11 职场文书
Python matplotlib多个子图绘制整合
2022/04/13 Python