动态加载字段集-调度程序

问题描述 投票:0回答:1

我有文章页面(动态)|从服务中获取数据并在页面上显示文章的内容。它具有某些属性,例如文章名称,上次更新日期等。

此页面已缓存并显示内容。仅上次更新日期经常更改。我们有几个解决方案:

  • 使用SDI,但这将使整个组件不可缓存,但是我们希望对内容进行缓存。
  • 使用Ajax调用,现在,实现纯粹是写在后端以获取和呈现数据。再次调用以获取一个字段并包装在Date字段上似乎并不明智。

我们是否还有其他解决方法可用于后端驱动的组件,其中仅一个字段不需要进行缓存?

谢谢,

caching aem ssi server-side-includes
1个回答
0
投票

调度程序缓存整个页面的内容,即作为用于命中页面的URL与AEM为该URL传递的内容之间的映射。在随后的时间对该URL进行调用时,调度程序将传递缓存的内容。

如果页面的动态部分在AEM中解析(通过服务调用),并且最终页面内容是从AEM呈现的(静态和动态内容的混合),则调度程序无法知道哪些部分是静态的,而对于动态的它从该URL的缓存中传递整个页面。

最佳选择是将静态部分与动态值分开,并使用AJAX之类的机制合并内容。或者,您可以探索使用SSI或Sling动态包含选项来在调度程序上组装页面并整体交付页面。检查https://www.cognifide.com/our-blogs/adobe/sling-dynamic-include/以获取详细信息

或者,如果您的用例足够简单,并且可以根据设置的频率对动态内容进行更新,则可以使用调度程序的TTL功能在时间延迟后简单地使页面过期,以便定期缓存新内容。检查https://docs.adobe.com/content/help/en/experience-manager-dispatcher/using/configuring/dispatcher-configuration.html了解有关TTL配置的详细信息

© www.soinside.com 2019 - 2024. All rights reserved.