Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 卡桑德拉读入循环_Node.js_Asynchronous_Cassandra - Fatal编程技术网

Node.js 卡桑德拉读入循环

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 =

在决定如何使用cassandra实现读取操作时,我面临一些困难

我有一个id数组,我们称之为idArray。 读取后,我将结果推送到结果数组(resultArray)中

现在我的问题是,这样的代码会有效率吗

`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读取的好方法吗?是的,您可能需要限制,尽管-这就是我提到连接池的原因。