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