【发布时间】:2020-08-05 02:35:46
【问题描述】:
我尝试使用 c# 将数据记录到 Cassandra。所以我的目标是在 200 毫秒内记录尽可能多的数据点。 我试图在 200 毫秒内节省时间、随机键和值。请参阅代码以供参考。在while循环之后如何执行会话的问题。
Cluster cluster = Cluster.Builder()
.AddContactPoint("127.0.0.1")
.Build();
ISession session = cluster.Connect("log"); //keyspace to connect with
var ps = session.Prepare("Insert into logcassandra(nanodate, key, value) values (?,?,?)");
stopwatch.Start();
while(stop.ElapsedMilliseconds <= 200)
{
i++;
var statement = ps.Bind(nanoTime(),"key"+i,"value"+i);
session.ExecuteAsync(statement);
}
【问题讨论】:
-
ExecuteAsync 应该返回一些您需要等待的 promise/future/... 但在您的情况下,这不是实际查询的执行 - 它只是接受它以执行.. . 你想用这段代码实现什么?
-
@AlexOtt 正如我在问题中提到的,我试图在 200 毫秒内记录尽可能多的数据。所以我做了一个运行 200 毫秒的 while 循环并将数据记录到 cassandra。当我在 while 循环中使用 ExecuteAsync 时,我认为它会减慢进程。有没有其他方法可以做到这一点????
标签: c# .net cassandra datastax