2015-09-17 24 views
1

我是新来的PHP模板(Smarty的),我有一个问题吧: PHP模板转换PHP和HTML脚本缓存,如:PHP模板引擎如何刷新数据?

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

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

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

+0

我不确定。详情请看smarty页面。我的第一个猜测将是tpl文件的修改日期。只要tpl文件没有改变,smarty将不会重新编译它。我确信这一点 – x4rf41

回答

1

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

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

缓存文件更新或刷新或重新编译由Smarty的管理,通常触发时:

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

该设置可以被覆盖。对于聪明的缓存设置阅读http://www.smarty.net/docsv2/en/caching