PHP模板引擎如何刷新数据?

时间:2015-09-17 02:52:39

标签: php templates smarty3

我是PHP模板(Smarty)的新手,我有一个问题: PHP模板将PHP和html脚本转换为缓存,例如:

*0c11aeb3a17645e71660028291bd3148b19cef94.file.group_add.tpl.php*

当Web内容(可能依赖于数据库)发生变化时,缓存可能会被刷新和更新,这会导致/消耗IO开销,因为它需要生成新的缓存。

我认为这可能会很慢,模板引擎如何解决这个问题?或者如何设计网站以避免这种情况?

1 个答案:

答案 0 :(得分:1)

Smarty在后台处理缓存,缓存文件是预编译的php文件,该文件是带有脚本的静态模板或动态内容的定义。虽然内容是动态的,但脚本是相同的。

仅在第一次编译时的开销,随后它只是读取并使用模板,通常非常快。缓慢可能是由于db或其他任务造成的。

缓存文件更新或刷新或重新编译由smarty管理,通常在以下情况下触发:

  1. 原始模板文件已更改(从修改时间开始);
  2. 已定义的缓存生命周期(默认为3600秒或1小时)已过期。
  3. 可以覆盖此设置。对于智能缓存设置,请阅读http://www.smarty.net/docsv2/en/caching