通过以下方式与arangojs npm模块创建arangodb连接时:
function createConnection(connectionUrl, databaseName) {
var connectionProps = {
url: connectionUrl,
databaseName: databaseName
};
var connection = new Database(connectionProps);
callback(null, connection);
}
此数据库对象是否在应用程序的生命周期内存在,还是一次性连接?
我们正在经历内存泄漏,因为我们正在为每个查询创建一个新连接,“缓存”连接似乎来解决此漏洞。
如果连接永远存在,它的行为是否像连接池一样?如果空闲,这些连接是否会超时?
documentation让我相信我本来是错的,是的,这是一个连接池,但确认上述问题会很棒!
答案 0 :(得分:2)
从我们自己的调查看来,似乎是的,这个对象旨在“永远”生存并且一次又一次地重复使用,因为它是使用代理创建的。它可能被配置为“一次性连接”,具体取决于传入的 agentOptions 。这尚未经过测试,对于常用连接可能是一项昂贵的操作。