CQ Dispatcher刷新与失效

时间:2015-06-07 14:55:25

标签: cq5 aem

我想知道CQ调度程序缓存刷新(来自发布实例)和调度程序缓存失效之间是否有任何区别?

请帮忙吗?

4 个答案:

答案 0 :(得分:2)

Dispatcher 是一个反向代理服务器,可以缓存来自HTTP源的数据。对于AEM,它通常是出版商或作者。虽然理论上它甚至可以是任何资源提供者。这个后端称为"渲染器"。

缓存失效是由发布者触发的HTTP操作,用于在调度程序上将资源缓存标记为无效。此操作仅删除资源,但不会刷新资源。

刷新是与发布页面相关联的工作流程,并在发布新内容/资源时使发布者/作者实例的缓存无效。在发布期间使缓存无效是非常常见的情况,以便为您的网站提供新内容。

在某些情况下,您希望刷新缓存而不重新发布内容。例如,在发布后,您可能希望从发布者重新生成所有页面,因为更改不是编辑更改,因此没有作者愿意发布内容。在这种情况下,您只需在不使用发布工作流的情况下重新发出缓存。虽然在实践中,通常更容易在调度程序上删除缓存目录,而不是刷新所有页面,但这是一个偏好。这是冲洗和失效的分离真正重要的地方,除了没有什么是真正不同的,因为最终结果几乎是相同的。

答案 1 :(得分:0)

This Adobe article似乎使用" flush"和"无效"互换。

它说:

  

手动使调度程序缓存无效

     

使Dispatcher缓存无效(或刷新)而不激活   在页面中,您可以向调度程序发出HTTP请求。例如,   您可以创建一个支持管理员或其他人的CQ应用程序   用于刷新缓存的应用程序。

     

HTTP请求导致Dispatcher从中删除特定文件   缓存。 (可选)Dispatcher然后使用new刷新缓存   副本。

它还讨论了配置" Dispatcher Flush"代理程序,该代理程序的配置调用了一个HTTP请求,该请求具有" invalidate.cache"在网址中。

答案 2 :(得分:0)

CQ基本上从OSGI调用“Dispatcher Flush Rule Service”,它将Replication操作类型称为“Invalidate Catch”。所以这意味着要刷新catch,CQ复制代理会调用被称为invalidate catch的操作。 这个术语有点令人困惑,但它只是OSGI中的服务和动作组合。

答案 3 :(得分:0)

有两件事情,通过这些事情修改缓存 - 1.内容更新 2.自动失效

在修改任何AEM页面时,内容更新会显示在其中。

当有许多自动生成的页面时使用自动失效,因此调度程序刷新代理会检查最新版本的文件,并通过修改stat文件相应地将文件标记为过期。