AEM Dispatcher - 缓存规则

时间:2017-07-25 15:51:04

标签: caching aem

我希望了解AEM调度程序配置的一部分。这将在/ cache / rules部分

看起来像是

/rules
        {
        # initial blanket deny
          /0000
          {
            /glob "*"
            /type "deny"
          }
          /0100
          {
           /glob "*.html"
           /type "deny"
          }
        }

规则100是否意味着调度程序没有缓存任何html页面?

3 个答案:

答案 0 :(得分:2)

是的,规则

/0100
{
  /glob "*.html"
  /type "deny"
}

表示不会缓存.html扩展名的文件。有关详细信息,请参阅documenatation

我不确定在Publish实例上会实现什么。如果所有HTML页面都是使用与静态部分内联的用户特定数据呈现的(例如,在负责显示整个页面的JSP / HTL脚本中呈现的用户数据),那么唯一看起来很合适的情况就是如此。不缓存HTML页面会给您的Publisher场带来巨大压力。如果避免缓存动态数据是此配置的原因,则有更好的方法来处理从AEM提供用户特定数据,每个数据都需要更改应用程序和部署体系结构(AJAX调用,{ {3}},Server Side IncludesSling Dynamic InlcudesEdge Side Includes,仅举几例。)

正如另一个答案所指出的,当在作者环境面前设置调度程序时,这可能是一个有效的规则。

答案 1 :(得分:2)

从您的问题中为规则添加其他答案和解释:

/0100
{
    /glob "*.html"
    /type "deny"
}

是(正如其他答案中所指出的),这意味着.html不会被缓存。这可能听起来很奇怪,但如本documentation所述,在AEM作者服务器前配置调度程序并不常见。

AEM作者的html页面几乎是特定于会话的,因此缓存它们会导致很多问题。

如果您想知道,如果您正在缓存AEM库和静态/非用户特定内容,那么AEM作者面前的调度员真的很有效。

答案 2 :(得分:0)

这是一个简单的解释:

/rules
       {
        # initial blanket deny
          /0000
          {
            /glob "*"
            /type "deny"
          }
          /0100
          {
           /glob "*.html"
           /type "deny"
          }
        }

/ 0000 - 规则不允许任何缓存。

如果您想要缓存某些内容,请按照以下提及allow

/rules

      /0100
      {
       /glob "*.html"
       /type "allow"
      }