Node是否需要caching垃圾回收?

NodeJS需要函数,加载模块,有一个“caching”(这是一个对象)。

条目是这个caching垃圾回收一旦我不再使用模块? (如果再次使用则导致从磁盘加载)

我认为答案是“否”,但是我没有在网上find任何参考

条目是这个caching垃圾回收一旦我不再使用模块?

require()使用require()加载的模块将无限期地caching,无论您是否使用它们。

对于模块使用的Javascriptvariables/对象的内存,垃圾收集受到垃圾收集的所有正常规则的约束(当没有仍然有对variables/对象的引用的实时代码时)。 但是,模块caching保持对已加载模块本身的引用,所以代码或任何模块级variables都不会被垃圾回收,除非手动从caching中删除模块。

这里是关于该主题的node.js文档的链接 。

高速caching

模块在第一次加载后被caching。 这意味着(除其他外)每个调用require('foo')将返回完全相同的对象,如果它将parsing为相同的文件。

如果你想从caching中手动删除一个模块,在这里描述:

卸载代码/模块

虽然,这将允许所有模块级别的variables被垃圾收集,给定的方式node.js的结构,我不认为它会实际上卸载内存的代码。