Marklogic 7.x模块缓存清除

Marklogic 7.x模块缓存清除,marklogic,Marklogic,我试图通过使用xdmp:spawn中的静态检查选项来测试我的库和主项目的所有模块。我使用的是文件系统模块数据库,这对少量文件很有效。MarkLogic在加载每个模块时会消耗内存,直到该框消耗所有可用内存,并在内存耗尽时导致MarkLogic崩溃 我发现在MarkLogic 8中有一个名为xdmp:module-cache-clear()的函数,但在MarkLogic版本7中似乎不存在相同的函数 加载模块时,清除模块使用的缓存的最佳方法是什么?或者有没有办法阻止模块使用缓存?ML7没有缓存清除功能

我试图通过使用xdmp:spawn中的静态检查选项来测试我的库和主项目的所有模块。我使用的是文件系统模块数据库,这对少量文件很有效。MarkLogic在加载每个模块时会消耗内存,直到该框消耗所有可用内存,并在内存耗尽时导致MarkLogic崩溃

我发现在MarkLogic 8中有一个名为xdmp:module-cache-clear()的函数,但在MarkLogic版本7中似乎不存在相同的函数


加载模块时,清除模块使用的缓存的最佳方法是什么?或者有没有办法阻止模块使用缓存?

ML7没有缓存清除功能,但您可以通过更新模块数据库中的某些内容(任何内容),然后执行一些要缓存模块的查询,强制模块缓存清除


我很惊讶您的模块缓存会以这种方式给您带来问题。你们有多少个模块?也许有一种方法可以对代码进行分区,以便在几个库模块中共享更多的代码?

ML7没有缓存清除功能,但您可以通过更新模块数据库中的某些内容(任何内容),然后执行一些要缓存模块的查询来强制清除模块缓存


我很惊讶您的模块缓存会以这种方式给您带来问题。你们有多少个模块?也许有一种方法可以对代码进行分区,以便在几个库模块中共享更多的代码?

如果您使用的是文件系统模块数据库而不是真实的数据库,则可以通过更新模式数据库中的内容来强制清除模块缓存。仅更新文件系统上的模块只会使该模块无效,但通常不会清除缓存。

如果您使用的是文件系统模块数据库而不是实际数据库,则可以通过更新架构数据库中的内容来强制清除模块缓存。仅仅更新文件系统上的模块只会使该模块失效,但通常不会清除缓存。

听起来很奇怪。你试过xdmp:eval而不是xdmp:spawn了吗?xdmp:spawn是唯一一个允许静态检查的。不是根据文档:但是文档并不完全完整。eval没有改变任何东西。我尝试过的一件对我有效的事情是将模块缓存设置为低超时值-组设置模块缓存超时。这似乎暂时还可以,听起来很奇怪。你试过xdmp:eval而不是xdmp:spawn了吗?xdmp:spawn是唯一一个允许静态检查的。不是根据文档:但是文档并不完全完整。eval没有改变任何东西。我尝试过的一件对我有效的事情是将模块缓存设置为低超时值-组设置模块缓存超时。这似乎目前效果不错。谢谢你的回复。可以通过更新文件系统上的模块来清除缓存吗?这主要是我在本地测试这个问题的地方。我正在测试大约225个文件。这涉及到很多遗留代码,但我不想破坏其中任何一个。感谢您的回复。可以通过更新文件系统上的模块来清除缓存吗?这主要是我在本地测试这个问题的地方。我正在测试大约225个文件。涉及到很多遗留代码,但我不想破坏其中任何一个。