① thinkphp过期的缓存文件如何自动删除
缓存时间过期后并不是自动删除文件,而是当你下次访问时自动生成新的缓存文件并覆盖原有的,删除了没有必须,因为当你下次再访问的时候还会生成,你可以使用系统配置来考虑缓存的时间或缓存的方式:
'TMPL_CACHE_ON' => true, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_CACHE_TIME' => 0, // 模板缓存有效期 0 为永久,(以数字为值,单位:秒)
② 如何在TP5中使用静态缓存
thinkphp内置了静态缓存的功能,并且支持静态缓存的规则定义。
要使用静态缓存功能,需要开启html_cache_on 参数,并且使用html_cache_rules配置参数设置静态缓存规则文件 。
静态规则的定义方式如下:
'html_cache_on'=>true,
'html_cache_rules'=> array(
'actionname' => array('静态规则', '静态缓存有效期', '附加规则'),
'molename(小写)' => array('静态规则', '静态缓存有效期', '附加规则'),
'molename(小写):actionname' => array('静态规则', '静态缓存有效期', '附加规则'),
'*' => array('静态规则', '静态缓存有效期', '附加规则'),
//…更多操作的静态规则
)
静态缓存文件的根目录在html_path 定义的路径下面,并且只有定义了静态规则的操作才会进行静态缓存,注意,静态规则的定义有三种方式:
第一种是定义全局的操作静态规则,例如定义所有的read操作的静态规则为
'read'=>array('{id}','60')
其中,{id} 表示取$_get['id'] 为静态缓存文件名,第二个参数表示缓存60秒
第二种是定义全局的模块静态规则,例如定义所有的user模块的静态规则为
'user:'=>array('user/{:actio .....