我是 StackOverflow 的新手,我有一个关于在 CQ jcr 中查询的问题。我想知道有没有办法缓存查询结果。
例如。我想查询一些在大多数情况下不会经常更改的节点,并且我正在使用 QueryManager 来构建查询,我想知道是否有办法缓存这些结果。
没有内置缓存查询结果的方法,您必须实现自己的应用程序级解决方案。实现这一点时,缓存您想要显示给用户的实际数据,而不是缓存节点结果。这将更有效率,并帮助您避免在内存中保留额外的对象。
除了创建自己的结果缓存之外,还有一个 cacheSize 设置,您可以在 crx-quickstart/repository/workspaces/crx.default/workspace.xml 的 SearchIndex 元素中配置它。此设置在 CQ5.6.1 及更早版本中可用(不在 AEM6.0 中)。它将节点 uuid 映射到 lucene 文档编号。
这是有关此功能的相关文档: http ://wiki.apache.org/jackrabbit/Search#Search-1