chris 2008-6-27 13:18
谁来讲一下smarty里面的caching的三个值的意思??
尤其是 = 1和 = 2的时候有什么区别!!!
xinglu1983 2008-6-27 21:37
分过程来说:
第一次设置缓存:
$smarty->caching = 1;
$smarty->cache_lifetime = 300; //第一次设置缓存
编译后会在cache_dir里生成一个缓存文件,这个文件里包含有此次生成缓存文件时的cache_lifetime,就是300秒;
然后修改
$smarty->caching = 2;
$smarty->cache_lifetime = 5; //第二次设置缓存
更改一些内容后再次编译,如果只看cache_lifetime,应该是5秒后更改的内容会起作用,但是事实是必须要等到300秒才行,因为caching等于2,会按照目前cache_dir里那个缓存文件内的cache_lifetime(300秒)的来计算缓存时间,而不是此次设置的5秒。直到再次更新缓存,才会把第二次设置的cache_lifetime(5秒)记录到缓存文件里去。
如果第二次设置缓存时候:
$smarty->caching = 1;
$smarty->cache_lifetime = 5; //第二次设置缓存
那么只要过5秒更改的内容会起作用。
[[i] 本帖最后由 xinglu1983 于 2008-6-27 21:40 编辑 [/i]]
chris 2008-7-2 16:37
[quote]原帖由 [i]xinglu1983[/i] 于 2008-6-27 21:37 发表 [url=http://bbs.nowphp.com/redirect.php?goto=findpost&pid=4466&ptid=987][img]http://bbs.nowphp.com/images/common/back.gif[/img][/url]
分过程来说:
第一次设置缓存:
$smarty->caching = 1;
$smarty->cache_lifetime = 300; //第一次设置缓存
编译后会在cache_dir里生成一个缓存文件,这个文件里包含有此次生成缓存文件时的 ... [/quote]
高,实在是高,确实是这样,顶楼主