是否可以在 MarkLogic 中对扩展树缓存设置超时?

Is it possible to set a timeout on the expanded tree cache in MarkLogic?

我想弄清楚为什么我的 E-Node 集群中的主机总是在内存中爬升。查询行之一是缓存是否未定期清除。到目前为止,我还没有看到任何方法来为缓存中的条目指定超时,也没有看到如何为这些条目设置最长期限。这可能吗?

缓存没有超时设置。

为组的各种缓存配置了最大大小。当您分配内存供服务器使用时,您应该期望它会被使用。它可以帮助服务器 运行 更快、更高效。如果 MarkLogic 需要为 "new" 条目腾出空间以保持在配置的最大大小内,MarkLogic 将管理缓存并驱逐 "old" 条目。

您可以 return 缓存的状态 xdmp:cache-status() 以观察使用了多少。

如果您确实想要清除展开的树缓存,您可以在每个主机上调用 xdmp:expanded-tree-cache-clear(),如此 knowledgebase article.

中所示

查看 Monitoring History 中的 Meters 数据并单击 Memory 部分旁边的蓝色箭头,以便向下钻取并查看 Memory Detail 以观察每个内存消耗的模式服务器内存的组成部分。

关于缓存状态的更多信息:https://help.marklogic.com/Knowledgebase/Article/View/253/0/monitoring-cache-status-with-xdmpcache-status

但是,如上所述,ETC 在组设置中配置为最大大小。