我遇到了一个问题,当我的代码显然没有同时发送一些 INSERT 命令时,它们被视为在 Cassandra 端同时发送。(当您在网络上遇到一点拥塞时,就会出现问题,否则,一切正常。)
我想解决这个问题的方法是让我能够自己指定 WRITETIME。据我记得,这在节俭中是可能的,但也许不是(即我们可以肯定地阅读它。)
所以像这样(模拟TTL):
INSERT INTO table_name (a, b, c) VALUES (1, 2, 3) USING WRITETIME = 123;
我面临的问题是覆盖相同的数据,并且偶尔会忽略更新,因为它以相同甚至更旧的时间戳结束(可能是因为它被发送到不同的节点并且每个节点的时间稍微不同,由于 C++ 进程使用线程,它可以在没有您控制的情况下在之前/之后发送......)