Cassandra 是否为单个节点提供先读后写的一致性?
Does Cassandra provide read-after-write consistency for a single node?
在单节点 Cassandra 上,如果我执行
write(key=A, value=3)
write(key=A, value=5)
a_value = read(key=A)
a_value
是 3 还是 5?或者换句话说,Cassandra 是否保证写后读的一致性,我们总是看到最新的值?
如果您等待回复,那么是的。如果您不等待写入请求的响应,那么可以先处理读取请求。
是的,如果读写请求的顺序是Write->Read。如果您的请求是同步的 (session.execute),这意味着您等待写入请求的响应,并在获得成功响应后执行读取请求,那么是的,您将获得最新的值。由于对于单个节点而言,数据不会分布在多个节点之间,因此不必担心保持一致性。
在单节点 Cassandra 上,如果我执行
write(key=A, value=3)
write(key=A, value=5)
a_value = read(key=A)
a_value
是 3 还是 5?或者换句话说,Cassandra 是否保证写后读的一致性,我们总是看到最新的值?
如果您等待回复,那么是的。如果您不等待写入请求的响应,那么可以先处理读取请求。
是的,如果读写请求的顺序是Write->Read。如果您的请求是同步的 (session.execute),这意味着您等待写入请求的响应,并在获得成功响应后执行读取请求,那么是的,您将获得最新的值。由于对于单个节点而言,数据不会分布在多个节点之间,因此不必担心保持一致性。