我的问题是;使用rethindb时,我可以打开更少的连接吗?现在我每次要插入或获取一些数据时都要打开一个新的。我担心这不是一件正确的事情。有什么方法可以打开一个并使用它吗?我使用的是nodejs。
答案 0 :(得分:1)
是。您可以在连接上运行多个查询。这是推荐的做事方式。
答案 1 :(得分:1)
最好的方法是使用连接池。例如,对于nodejs,我们使用的是rethinkdb-pool。
答案 2 :(得分:0)
我没有查看开源连接池以进行重新思考,但我有一个使用重新思考的节点应用程序,它将拥有有限数量的用户,因此我将我的一个连接保存为重新思考为全局变量然后使用它对于所有查询。
'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
事件的有效负载作为重新考虑查询的参数。
答案 3 :(得分:0)
我建议您使用rethinkdbdash,一个"高级Node.js RethinkDB驱动程序"包括连接池和一些其他高级功能。它有比rethinkdb-pool更多的明星和贡献者。