我想仅为站点首页启用内容项/文件夹缓存代理(复杂、繁重的加载操作)。

使用 plone.app.caching 解决“仅在特定路径中缓存”问题的好方法是什么?

最佳答案

一种方法是定义一个新的缓存规则集,并将其与您的主页 View 相关联。然后,您可以将强或中等缓存操作分配给此规则集,同时将其他规则集设置为弱或无缓存。

用于定义新规则集并将其与主页 View 相关联的 ZCML 如下所示,假设主页 View 是“.homepage.HomepageView”:

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:browser="http://namespaces.zope.org/browser"
    xmlns:cache="http://namespaces.zope.org/cache"/>

  <include package="z3c.caching" file="meta.zcml" />

  <cache:rulesetType
      name="plone.homepage"
      title="Homepage"
      description="Site homepage view"
      />

  <cache:ruleset
      for=".browser.HomepageView"
      ruleset="plone.homepage"
      />

</configure>

(有关此处使用的缓存指令的更多信息,请参阅 z3c.caching 文档。)

如果您的主页是 CMF 皮肤层中的模板而不是 View ,您可以将其与 plone.app.caching 控制面板的“缓存操作”选项卡上的规则集相关联,而不是使用 cache:ruleset 指令。

一种完全不同的方法是在您的反向代理配置中专门处理主页。

关于caching - plone.app.caching 仅用于首页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6170962/

10-13 02:03