1

通过以下方式创建与 arangojs npm 模块的 arangodb 连接时:

function createConnection(connectionUrl, databaseName) {
   var connectionProps = {
      url: connectionUrl,
      databaseName: databaseName
    };
    var connection = new Database(connectionProps);
    callback(null, connection);
 }

这个数据库对象是打算在应用程序的整个生命周期中存在还是一次性连接?

我们正在为每个查询创建一个新连接时遇到内存泄漏,“缓存”连接似乎可以解决这个泄漏。

如果连接永远存在,它的行为是否像连接池?如果空闲,这些连接会超时吗?

文档让我相信我最初是错的,是的,它是一个连接池,但确认上述问题会很好!

4

1 回答 1

2

从我们自己的调查看来,是的,这个对象旨在“永远”存在并一遍又一遍地重复使用,因为它是使用代理创建的。根据传入的agentOptions ,它可能被配置为“一次性连接” 。这尚未经过测试,对于经常使用的连接来说可能是一项昂贵的操作。

于 2017-12-11T10:37:38.227 回答