在Express.js/Web应用程序中管理OrientDB连接的最佳做法

在Express.js/Web应用程序中管理OrientDB连接的最佳做法,express,orientdb,orientjs,oriento,Express,Orientdb,Orientjs,Oriento,在Express.js或任何web应用程序中,管理连接的推荐方法是什么?每个请求的连接?将使用Node.js驱动程序如果您使用的是Oriento,您可以尝试连接池,具体如下所示: var server = Oriento({ user: 'root', password: 'foo', pool: { max: 10 // use a maximum of 10 sockets in the pool } }); 请记住,由于orientdb中的线程安全问题[…],连接

在Express.js或任何web应用程序中,管理连接的推荐方法是什么?每个请求的连接?将使用Node.js驱动程序

如果您使用的是Oriento,您可以尝试连接池,具体如下所示:

var server = Oriento({
  user: 'root',
  password: 'foo',
  pool: {
    max: 10 // use a maximum of 10 sockets in the pool
  }
});

请记住,由于orientdb中的线程安全问题[…],连接池配置在某种程度上隐藏在Oriento的自述文件中。在使用它之前,您可能需要先清除它。

谢谢您的回复Dario。我很想知道什么时候应该打开和关闭连接。我们应该为每个请求打开一个连接,并在请求结束时关闭它吗?好吧,默认情况下,为每个请求打开一个连接可能会耗尽OrientDB连接的最大数量50,我相信,因此我不建议这样做。我建议使用单个连接或池,请注意我前面提到的注意事项,在接收请求之前应先进行设置。如果现有连接失败,Oriento将自行重新连接。关闭和打开连接也可能会带来开销。正常的web实践是在请求开始时打开连接,最好是事务,然后在请求结束时提交/关闭,以便释放连接。将运行一些测试…我不确定正常的web实践是什么,我想这将取决于您引用的源代码。使用连接池可以减少连接和断开与数据库的连接的开销。例如,sequelize,一个流行的SQLORM建议一个池中有5个连接。每次发出查询时,这些连接中的一个将被使用,然后释放供其他查询使用,而无需建立新的连接。