栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > thinkphp

静态缓存_缓存_帮助文档_Thinkphp手册用法

thinkphp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

静态缓存_缓存_帮助文档_Thinkphp手册用法

要使用静态缓存功能,需要开启HTML_CACHE_ON参数,并且使用HTML_CACHE_RULES配置参数设置静态缓存规则文件 。

虽然也可以在应用配置文件中定义静态缓存规则,但是建议是在模块配置文件中为不同的模块定义静态缓存规则。

静态规则定义

静态规则的定义方式如下:

'HTML_CACHE_ON'     =>    true, // 开启静态缓存
'HTML_CACHE_TIME'   =>    60,   // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX'  =>    '.shtml', // 设置静态缓存文件后缀
'HTML_CACHE_RULES'  =>     array(  // 定义静态缓存规则
     // 定义格式1 数组方式
     '静态地址'    =>     array('静态规则', '有效期', '附加规则'), 
     // 定义格式2 字符串方式
     '静态地址'    =>     '静态规则', 
)

定义格式1采用数组方式 便于单独为某个静态规则设置不同的有效期,定义格式2采用字符串方式订阅静态规则,同时采用HTML_CACHE_TIME设置的全局静态缓存有效期。

静态缓存文件的根目录在HTML_PATH定义的路径下面,并且只有定义了静态规则的操作才会进行静态缓存。 并且静态缓存支持不同的存储类型。 静态缓存仅在GET请求下面有效。

静态地址

静态地址包括下面几种定义格式:

第一种是定义全局的操作静态规则,例如定义所有的read操作的静态规则为:

'read'=>array('{id}',60)

其中,{id} 表示取$_GET['id'] 为静态缓存文件名,第二个参数表示缓存60秒。

第二种是定义全局的控制器静态规则,例如定义所有的User控制器的静态规则为:

'user:'=>array('User/{:action}_{id}','600')

其中,{:action} 表示当前的操作名称

第三种是定义某个控制器的操作的静态规则,例如,我们需要定义Blog控制器的read操作进行静态缓存

'blog:read'=>array('{id}',0)

第四种方式是定义全局的静态缓存规则,这个属于特殊情况下的使用,任何模块的操作都适用,例如

'*'=>array('{$_SERVER.REQUEST_URI|md5}'),

表示根据当前的URL进行缓存。

静态规则

静态规则是用于定义要生成的静态文件的名称,静态规则的定义要确保不会冲突,写法可以包括以下情况:

1、使用系统变量

包括 _GET、_REQUEST、_SERVER、_SESSION、_COOKIE 格式:

{$_×××|function}

例如:

{$_GET.name} {$_SERVER.REQUEST_URI|md5}
2、使用框架特定的变量

{:module} 、{:controller} 和{:action} 分别表示当前模块名、控制器名和操作名。

例如:

{:module}/{:controller}_{:action}
3、使用_GET变量

{var|function}也就是说 {id} 其实等效于 {$_GET.id}

4、直接使用函数

{|function} 例如:

{|time}
5、支持混合定义

例如我们可以定义一个静态规则为:

'{id},{name|md5}'

在{}之外的字符作为字符串对待,如果包含有"/",会自动创建目录。

例如,定义下面的静态规则:

{:module}/{:action}_{id}

则会在静态目录下面创建模块名称的子目录,然后写入操作名_id.shtml 文件。

静态缓存有效期

单位为秒。如果不定义,则会获取配置参数HTML_CACHE_TIME 的设置值,如果定义为0则表示永久缓存。

附加规则

通常用于对静态规则进行函数运算,例如

'read'=>array('Think{id},{name}','60', 'md5')

翻译后的静态规则是 md5('Think'.$_GET['id']. ', '.$_GET['name']);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号