【问题标题】:Smarty: how to cache properly?Smarty:如何正确缓存?
【发布时间】:2011-12-03 11:33:41
【问题描述】:

假设我有一个包含动态内容(例如搜索结果)的页面。什么是正确的缓存技术?

  • 在整个页面周围放置nocache标签?
  • 在实际包含动态数据的标记段周围放置nocache标签?
  • 在动态数据周围加nocache标签?
  • 以某种方式告诉 Smarty 不要缓存动态数据?

动态数据被分配为 Smarty 变量(例如,通过 assign)。我认为我需要尝试最大化缓存,但在需要缓存的内容、如何取消缓存、何时缓存、何时取消缓存等方面有点挣扎。

有什么建议吗?

【问题讨论】:

    标签: smarty template-engine smarty3


    【解决方案1】:

    如果您的网站大部分是静态的,则将nocache 标签放在显示动态内容的整个代码段周围。

    相反,如果您网站的每个页面都包含一些动态输出,我建议您在 Smarty 类初始化期间禁用 Smarty 缓存。

    【讨论】:

    • 我不应该尝试最大化缓存吗?几乎每个页面都会包含一些动态内容。
    • 如果该页面的主要内容是动态的,请禁用所有缓存。如果只有少量动态数据,但网站主要是静态的,请使用{nocache}。每次禁用缓存时都不会解析 Smarty 模板。 Smarty 模板仅在修改 TPL 时才被解析。然后生成一个PHP“编译”页面。所以,不要害怕 Smarty 模板解析开销。 smarty.net/docs/en/caching.tpl
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2021-12-14
    • 2023-03-28
    • 2021-01-22
    • 2014-02-22
    相关资源
    最近更新 更多