Node.js 卡桑德拉读入循环
在决定如何使用cassandra实现读取操作时,我面临一些困难 我有一个id数组,我们称之为idArray。 读取后,我将结果推送到结果数组(resultArray)中 现在我的问题是,这样的代码会有效率吗Node.js 卡桑德拉读入循环,node.js,asynchronous,cassandra,Node.js,Asynchronous,Cassandra,在决定如何使用cassandra实现读取操作时,我面临一些困难 我有一个id数组,我们称之为idArray。 读取后,我将结果推送到结果数组(resultArray)中 现在我的问题是,这样的代码会有效率吗 `for(i;i<idAArray.length;i++) { let query = "SELECT * FROM table WHERE \"id\"=?idArray[i]" client.execute(query) .then(result =
`for(i;i<idAArray.length;i++)
{
let query = "SELECT * FROM table WHERE \"id\"=?idArray[i]"
client.execute(query)
.then(result => resultArray.push(result));
}`
`for(i;i resultArray.push(result));
}`
如果并行运行是一个选项,请指定具体方式
提前谢谢 如果您为
execute
调用提供回调,那么代码将是异步的,您可以并行发出多个请求:
client.execute(query, [ 'someone' ], function(err, result) {
assert.ifError(err);
console.log('User with email %s', result.rows[0].email);
});
根据需要执行的查询数量,您可能需要调整以允许每个连接有更多的飞行中请求。还建议您准备查询
更多信息见。我得到了异步部分。无论如何,无法想象在同步模式下执行此操作:)。但是,假设我有一个大约5000个id的数组,虽然读取操作不会花费超过几毫秒的时间,但这仍然是从cassandra读取的好方法吗?是的,您可能需要限制,尽管-这就是我提到连接池的原因。