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
 

posted @ 2010-10-15 22:59  phpindex  阅读(17404)  评论(2编辑  收藏  举报