thinkphp的静态缓存用法分析

2015-04-18  来源:本站原创  分类:php实例  人气:10 

这篇文章主要介绍了thinkphp的静态缓存用法,较为详细的分析了静态缓存的配置方法与相关操作的技巧,具有一定的实用价值,需要的朋友可以参考下

本文较为详细的分析了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框架程序设计有所帮助。

相关文章
  • thinkphp的静态缓存用法分析 2015-04-18

    这篇文章主要介绍了thinkphp的静态缓存用法,较为详细的分析了静态缓存的配置方法与相关操作的技巧,具有一定的实用价值,需要的朋友可以参考下 本文较为详细的分析了thinkphp的静态缓存用法.分享给大家供大家参考.具体分析如下: thinkphp里面内置了一个静态缓存功能,说静态缓存可能对我这种菜鸟而言不太好理解.其实静态缓存就是将THINKphp的某一个操作显示出来的页面生成一个HTML文件保存在设置的路径,当用户再次访问的时候,如果缓存没过期,那么这个操作将不再执行它下面的PHP程序,而

  • jQuery数据缓存用法分析 2014-10-15

    这篇文章主要介绍了jQuery数据缓存用法,较为详细的分析了jQuery数据缓存的功能.定义与相关的使用技巧,需要的朋友可以参考下 本文分析了jQuery数据缓存用法.分享给大家供大家参考.具体如下: 在jQuery的API帮助文档中,jQuery这样描述数据缓存的作用:用于在一个元素上存取数据而避免了循环引用的风险. 一.定义缓存数据 使用$(selector).data(name,value)方法可以为jQuery对象定义缓存数据.这些缓存数据被存放在匹配的DOM元素集合中所有DOM元素中.

  • ThinkPHP模板输出display用法分析 2015-02-19

    这篇文章主要介绍了ThinkPHP模板输出display用法,以实例形式详细分析了ThinkPHP使用display调用各类模板输出的用法,是非常常见的实用技巧,需要的朋友可以参考下 本文实例分析了ThinkPHP模板输出display用法.分享给大家供大家参考.具体分析如下: 模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现,我们在操作方法的最后使用: $this->display(); 就可以输出模板,根据前面的模板定义规则,因为系统会按照默认规则自动定

  • smarty缓存用法分析 2015-03-14

    这篇文章主要介绍了smarty缓存用法,以实例形式分析了smarty缓存的特点及使用技巧,非常具有实用价值,需要的朋友可以参考下 本文详细分析了smarty缓存的用法.分享给大家供大家参考.具体分析如下: 一开始以为smarty只是用来做一些掩饰php代码功能,但是后来才知道还有模板缓存这个强大的功能. 什么是模板缓存呢,就是我们在从数据库里面取出一些数据输出到模板的访问的时候,每一次都对数据库进行访问,但是其实每一次的数据库访问都是相同的,假如网址的流量很大,这种重复的访问完全是没有必要的,对

  • php中静态类与静态变量用法的区别分析 2015-02-13

    这篇文章主要介绍了php中静态类与静态变量用法的区别,以实例形式较为详细的分析了php中静态类与静态变量的定义.功能及使用技巧,需要的朋友可以参考下 本文实例分析了php中静态类与静态变量用法的区别.分享给大家供大家参考.具体分析如下: static是定义一个静态对象或静态变量,关于static 定义的变量或类方法有什么特性我们看完本文章的相关实例后就见分晓了. 1. 创建对象$object = new Class(),然后使用"->"调用:$object->attribu

  • thinkphp中memcache的用法实例 2014-01-05

    这篇文章主要介绍了thinkphp中memcache的用法,较为详细的讲述了memcache的安装.运行以及在ThinkPHP中的使用方法,是非常具有实用价值的技巧,需要的朋友可以参考下 本文实例讲述了thinkphp中memcache的用法.分享给大家供大家参考.具体分析如下: 1.下载并安装memcache ① window下安装memcache. 下载memcached.exe 到d:/memcached/memcached.exe.在运行cmd 输入 d:/memcached/memca

  • Python常用模块用法分析 2014-03-14

    这篇文章主要介绍了Python常用模块用法分析,主要包括内置函数.文件操作.正则匹配等等,需要的朋友可以参考下 本文较为详细的讲述了Python中常用的模块,分享给大家便于大家查阅参考之用.具体如下: 1.内置模块(不用import就可以直接使用) 常用内置函数: help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str)

  • PHP常见缓存技术分析 2010-11-02

    PHP常见缓存技术分析 在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器.当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接.但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理. 普遍使用的缓存技术 数据缓存:这里所说的数据缓存是指数据库查询缓

  • [ThinkPHP] 1.Config.php 配置项分析 2015-01-14

    雪影工作室版权所有,转载请注明[http://blog.csdn.net/lina791211] 一.配置格式 ThinkPHP3.1.2框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为: //项目配置文件 return array( 'DEFAULT_MODULE' => 'Index', //默认模块 'URL_MODEL' => '2', //URL模式 'SESSION_AUTO_START' => true, //是否开启session //更多配置参数 //..

  • php字符串截取函数用法分析 2013-10-11

    这篇文章主要介绍了php字符串截取函数用法分析,给出了两个示例,分别讲述了PHP自带的字符串截取函数的用法与自定义函数实现字符串截取的方法,是非常实用的字符串操作技巧,需要的朋友可以参考下 本文实例分析了php字符串截取函数用法.分享给大家供大家参考.具体分析如下: php自带的截取字符串的函数只能处理英文,数字的不能截取中文混排的,后面一个示例比较好用,第一个主要是给初学者学学用的,具体代码如下: <?php //构造字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVW

  • js面向对象之静态方法和静态属性实例分析 2013-10-22

    这篇文章主要介绍了js面向对象之静态方法和静态属性,实例分析了静态方法和静态属性的原理及应用,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了js面向对象之静态方法和静态属性.分享给大家供大家参考.具体分析如下: 先看如下代码: <script type="text/javascript"> function Bird(){ this.wing = 2; this.fly = function(){ alert("我是鸟,我会飞"); } }

  • jquery中append()与appendto()用法分析 2013-11-12

    这篇文章主要介绍了jquery中append()与appendto()用法分析,以实例的形式分析了jquery中append()与appendto()的具体语法与详细用法,需要的朋友可以参考下 本文实例分析了jquery中append()与appendto()的用法.分享给大家供大家参考.具体分析如下: 在jQuery的文档操作方法中,append()和appentto()方法执行的任务相同,但是两者也有区别. 1.append()方法:在被选元素的结尾(但仍在元素内部)插入指定的内容. a.语

  • .Net中的json操作类用法分析 2013-12-06

    这篇文章主要介绍了.Net中的json操作类用法分析,是非常实用的一个技巧,需要的朋友可以参考下 本文实例展示了.Net中的json操作类用法,对于进行.Net程序设计来说是非常重要的技巧.具体分析如下: 首先需要引用 System.Web.Extensions.dll 这个类库 命名空间需要加上:System.Web.Script.Serialization 数据结构如下: public class Team { public string Name { get; set; } public

  • PHP中substr()与explode()函数用法分析 2013-12-08

    这篇文章主要介绍了PHP中substr()与explode()函数用法分析,以实例的形式较为详细的讲述了substr()与explode()函数处理字符串的技巧,是字符串操作中使用频率比较高的函数,具有一定的实用价值,需要的朋友可以参考下 本文实例讲述了PHP中substr()与explode()函数用法.分享给大家供大家参考.具体方法如下: substr(string,start,length):本函数将字符串 string 的第 start 位起的字符串取出 length 个字符,若 sta

  • JSP forward用法分析实例代码分析 2013-12-10

    JSP forward用法分析,需要的朋友可以参考下. 1.首页(填写姓名)(可选,表单post到time.jsp即可): 略 2.判断时间forward到不同页面: time.jsp: <%-- Document : index Created on : 2009-10-3, 15:48:00 Author : lucifer --%> <%@page contentType="text/html" pageEncoding="UTF-8"%&g

  • .NET中的异常和异常处理用法分析 2013-12-14

    这篇文章主要介绍了.NET中的异常和异常处理用法,分析了.NET中的异常处理机制以及相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下 本文较为详细的分析了.NET中的异常和异常处理用法.分享给大家供大家参考.具体分析如下: .NET中的异常(Exception) .net中的中异常的父类是Exception,大多数异常一般继承自Exception. 可以通过编写一个继承自Exception的类的方式,自定义异常类! 异常处理机制: Try { //可能发生异常的代码 //后续代码 } /

  • php类中的各种拦截器用法分析 2013-12-18

    这篇文章主要介绍了php类中的各种拦截器用法,实例分析了PHP中常见的拦截器__get与__set的使用方法,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php类中的各种拦截器用法.分享给大家供大家参考.具体用法分析如下: 1.__get( $property ) 访问未定义的属性时调用 class lanjie { function __get($name) { echo $name." property not found! "; } } $ob = new lan

  • javascript面向对象之this关键词用法分析 2014-03-25

    这篇文章主要介绍了javascript面向对象之this关键词用法分析,以实例形式分析了在不同场合下this使用中的特性及相关使用技巧,需要的朋友可以参考下 本文实例分析了javascript面向对象之this关键词用法.分享给大家供大家参考.具体分析如下: 当需要初始化某个属性时,可以在原型对象内使用this关键词.如下面实例: <script language="javascript" type="text/javascript"> function

  • java多线程中的volatile和synchronized用法分析 2014-04-12

    这篇文章主要介绍了java多线程中的volatile和synchronized用法分析,以实例的形式分析了在多线程中volatile和synchronized的用法区别与使用原理,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例分析了java多线程中的volatile和synchronized用法.分享给大家供大家参考.具体实现方法如下: package com.chzhao; public class Volatiletest extends Thread { private stati

  • ThinkPHP关联模型操作实例分析 2014-05-17

    ThinkPHP关联模型操作实例分析,需要的朋友可以参考下 通常我们所说的关联关系包括下面三种: ◇ 一对一关联 : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO ◇ 一对多关联 : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO ◇ 多对多关联 : MANY_TO_MANY 关联定义 数据表的关联 CURD 操作,目前支持的关联关系包括下面四种:HAS_ONE . BELONGS_TO . HAS_MANY . MANY_TO_MANY