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写的小东西
Dec 06 PHP
global.php
Dec 09 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
Dec 28 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
thinkPHP框架乐观锁和悲观锁实例分析
Oct 30 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 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 学习路线与时间表
2010/02/21 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
joomla组件开发入门教程
2016/05/04 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
prototype 学习笔记整理
2009/07/17 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
解决js图片加载时出现404的问题
2020/11/30 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
Python struct模块解析
2014/06/12 Python
17个Python小技巧分享
2015/01/23 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
python 一维二维插值实例
2020/04/22 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
美国玩具公司:U.S.Toy
2018/05/19 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
公积金接收函格式
2015/01/30 职场文书
物业保洁员管理制度
2015/08/05 职场文书
小学总务工作总结
2015/08/13 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle