作者:拍友2502891813 | 来源:互联网 | 2014-06-12 18:37
thinkphp里面内置了一个静态缓存功能,说静态缓存可能对我这种菜鸟而言不太好理解。其实静态缓存就是将THINKphp的某一个操作显示出来的页面生成一个HTML文件保存在设置的路径.
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.