首页 > 技术文章 > thinkphp 静态缓存设置

llkbk 2017-11-15 17:31 原文

  
'HTML_CACHE_RULES'=> array(
'ActionName' => array('静态规则', '静态缓存有效期', '附加规则'),
'ModuleName(小写)' => array('静态规则', '静态缓存有效期', '附加规则'),
'ModuleName(小写):ActionName' => array('静态规则', '静态缓存有效期', '附加规则'),
'*' => array('静态规则', '静态缓存有效期', '附加规则'),
)
HTML_PATH //项目静态目录
'HTML_CACHE_ON'    => true, // 
// 'HTML_CACHE_TIME' => 3600, // 全局静态缓存有效期(秒)
'HTML_FILE_SUFFIX' => '.shtml', // 设置静态缓存文件后缀
HTML_CACHE_ON 是否开启静态缓存功能
HTML_FILE_SUFFIX 静态文件后缀 惯例配置的值是 .html
HTML_CACHE_TIME 默认的静态缓存有效期 默认60秒 可以在静态规则定义覆盖

规则 :
'pinpf:' => array('{:action}__{id|md5}', 60),//{:action} 后面不能加function  action 操作 即方法 modul 模块即 class
'pinpf:list' => array('{:action}__{$_GET.qqq|md5}', 60),
'*' => array('{$_SERVER.REQUEST_URI|MD5}', 60)
静态规则是用于定义要生成的静态文件的名称,写法可以包括以下情况
1、使用系统变量 包括 _GET _REQUEST _SERVER _SESSION _COOKIE
格式:
{$_×××|function}
2、使用框架特定的变量 例如:{:app}、{:group} 、{:module} 和{: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']); 和静态缓存相关的配置参数包括:
 
 
 

推荐阅读