我想在Express.js中使用OrientJS,如何在进行任何http请求之前配置连接池,在请求/响应周期中获取和释放来自连接池的连接,并在关闭应用程序时完成池的操作?
我想在Express.js中使用OrientJS,如何在进行任何http请求之前配置连接池,在请求/响应周期中获取和释放来自连接池的连接,并在关闭应用程序时完成池的操作?
我已经研究了一下OrientJS源代码,实际上找到了一种使用内置的ConnectionPool的方法。
你不需要任何通用的资源池模块(就像我在上面的评论中提到的那样)。基本上,它非常简单。你需要做的就是:
var OrientDB = require('orientjs');
var server = OrientDB({
host: 'localhost',
port: 2424,
username: 'root',
password: 'yourpassword',
pool: {
max: 10
}
});
服务器
对象正在使用内置的ConnectionPool,最大允许连接数为10。server.transport.pool
,你会看到内部池对象。server.transport.pool.connections
的长度(它是一个数组)。$ watch -n 0.1 'netstat -p tcp -an | grep 2424'
你会看到这些连接。
从这个点开始,你可以立即开始查询,连接池将自动使用。
server
变量,然后在应用程序中需要时引用它。连接的获取/释放过程由 OrientJS 自动处理,因此您不需要做任何事情,只需使用服务器对象查询您的数据库。要优雅地关闭所有连接,只需调用 server.close()
。请记住,如果您想在此之后查询数据库,则必须再次执行 var server = OrientDB( ... )
。 - xmikex83