![](/img/trans.png)
[英]RethinkDB and Node.js/Express - Opening multiple connections for parallel queries?
[英]Opening less connections with rethinkDB
我的问题是; 使用rethindb时能否打开较少的连接? 现在,每次要插入或获取一些数据时,我都会打开一个新文件。 恐怕这不是正确的事情。 有什么方法可以只打开一个,而是使用它吗? 我正在使用nodejs。
是。 您可以在一个连接上运行多个查询。 这是推荐的处理方式。
最好的方法是使用连接池。 例如,对于nodejs,我们正在使用rethinkdb-pool 。
我没有研究过开源连接池以进行重新思考,但是我有一个使用重新思考的节点应用程序,它将具有有限的用户数量,因此我将一个连接保存为重新思考为全局变量,然后将其用于所有查询。
'use strict';
var r = require('rethinkdb);
var rethinkConnect = null;
r.connect(
{
'host': 'localhost',
'port': '28015',
'password': 'noneya',
},
function(err, conn) {
if (err) {
console.log(err);
} else {
rethinkConnect = conn;
}
}
);
现在,node.js服务器进行的所有查询都可以使用该连接。 请记住,此代码是异步的,因此您无法立即在r.connect()
之后的下一行进行查询。 但是,您可以将入站socket.io
事件的有效负载用作重新思考查询的参数。
我建议您使用rethinkdbdash ,这是“高级Node.js RethinkDB驱动程序”,其中包括连接池和其他一些高级功能。 它比rethinkdb-pool拥有更多的明星和贡献者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.