[字号:  ]

smarty cache 问题

发布时间:2008-8-14 10:00   作者: huliuhe   信息来源: PHPChina 开源社区门户
和朋友合作一个项目,想利用smarty 重构代码, 碰到一个问题,
就是由于 smarty cache 机制,导致页面不能实时更新,
目前采用了display前清空缓存的方法
$smarty->clear_cache("login.tpl");
$smarty->display('login.tpl');

但据说这样性能会严重下降。  大家有没有好点的方法?

不少网页存在这样的情况,就是用一个模板文件 ,根据具体情况来赋不同值。
如何用了cache机制。哪么更新是不是就得不到保证啊?

最新回复

小蚂蚁 at 2008-8-14 10:23:45
不懂,帮顶
lxylxy888666 at 2008-8-14 10:33:18
网页里的就是最新的内容哈
huliuhe at 2008-8-14 10:55:30
比如:
tpl文件为

{*$var*}


php文件 为
if($a)
{
   smarty->assign('var','1')
}
else
{
smarty->assign('var','2')
}

QUOTE:

原帖由 lxylxy888666 于 2008-8-14 10:33 发表
网页里的就是最新的内容哈
lxylxy888666 at 2008-8-14 11:05:37
不是很明白你说的。
难道不显示你想要的数据?
huliuhe at 2008-8-14 11:23:44
是不显示,因为用了缓存的内容
lxylxy888666 at 2008-8-14 11:38:32
恩,的确是,不能实时更新。
lxylxy888666 at 2008-8-14 11:42:50
你如果让它每次更新时就生成缓存,(改变一下缓存生成方式)
这时,页面内容不就是显示的实时内容了吗?
clearchen at 2008-8-14 11:44:39
好久不用smarty了,那玩意太大了
huliuhe at 2008-8-14 11:47:29
大,没感觉啊。 功能还行,就是模板没有继承功能,如果有这个会更好些。
clearchen at 2008-8-14 11:57:35
是阿,1点多M,我现在做的门户项目,加一块1点多m
,还是使用joomla做底层呢,joomla自己写的framework,用起来贼爽,smarty只是模板,
uder at 2008-8-20 14:31:01
关闭缓存不行吗?不就实时更新了吗?
$smarty->caching = false;
leconsc at 2008-8-20 16:40:37
到底要做什么,到底用不用缓存,如果不用,把缓存机制关闭就了.
joymenu at 2008-8-20 18:28:01
$smarty->caching = false;
mingpi at 2008-9-17 13:25:40
默认情况下smarty的缓存好像是不可用。
让缓存可用:$smarty->caching = true;
心痛 at 2008-9-17 13:32:55
像楼上一样设置缓存为false,如果没有设置,只能手动清空缓存文件了~