PHP模板引擎如何刷新数据


How PHP template engine refesh data?

我是PHP模板(Smarty)的新手,我有一个问题:PHP模板翻译PHP和html脚本到缓存,例如:

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

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

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

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

的开销仅在第一次编译时,随后它就读取并使用模板,通常非常快。数据库或其他任务可能导致运行缓慢。

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

  1. 原模板文件被更改(从修改时间开始);
  2. 定义的缓存生存时间(默认3600秒或1小时)已过期。

这个设置可以被覆盖。查看智能缓存设置http://www.smarty.net/docsv2/en/caching