我想仅为站点首页启用内容项/文件夹缓存代理(复杂、繁重的加载操作)。
使用 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/