$cache
0: 表示关闭缓存
1:使用当前的$cache_lifetime变量
2:使用生成缓存时的cache_lifetime值
用这种方式你正好可以在获取模板之前设置缓存生存时间,以便较精确地控制缓存何时失效.
$cache_dir:设置缓存文件放置的路径
注:不推荐存放在web根目录下
$cache_lifetime:设置缓存的时间
该变量定义模板缓存有效时间段的长度(单位秒),一旦这个时间失效,则缓存将会重新生成.如果要想实现所有效果,$caching必须因$cache_lifetime需要而设为"true".
值为-1时,将强迫缓存永不过期,无法显示更新的内容
.0值将导致缓存总是重新生成(仅有利于测试,一个更有效的使缓存无效的方法是设置$caching = false.)
缓存分为:页面多缓存和局部缓存,通过变量来改变缓存的方式。
缓存的清除:
void clear_cache (string template [, string cache id [, string compile id [, int expire time]]])
如果这个模板有多个缓存,你可以用第二个参数指定要清除缓存的缓存号,还可以通过第三个参数指定编译号。你可以把模板分组,以便可以方便的清除一组缓存。。第四个参数是可选的,用来指定超过某一时间(以秒为单位)的缓存才会被清除。
清除某一模板的缓存的用法:
$smarty->clear_cache("index.tpl");
清除某一模板的多个缓存中指定缓存号的一个
$smarty->clear_cache("index.tpl","CACHEID");
clear_compiled_tpl 清除已编译模板
清除指定模板资源的编译版本,如果不指定则清除所有已编译模板。除非特殊的需要,一般情况下不需要使用该函数。
(Fwolf:这个函数并不会删除模板本身,而是删除templates_c目录中存放的编译后生成的文件,这些编译后的文件会在下一次页面调用的时候再一次被生成。)