2

使用 MultigetSliceQuery 时,结果将包含每个键的一行,即使该键不存在。唯一的测试方法可能是检查每一行是否存在任何列。

但是,如果我创建一个包含 1 列或更多列的行,然后删除所有列,则 MultigetSliceQuery 的结果将是相同的(就好像该行从未创建过一样)。

当使用 CLI 进行测试时,“ list CF ”将显示空行键,但“ get CF[key] ”将返回“ Returned 0 results ” 。

没有任何列的行是否有效?

是否应该有办法检查空与存在的结果?

4

1 回答 1

3

http://wiki.apache.org/cassandra/FAQ#range_ghosts

如果您执行 MultigetSlice 并枚举键,它将为每个键返回一个结果。

在 cli 的情况下,请参阅

http://wiki.apache.org/cassandra/DistributedDeletes

空行实际上有已删除列的墓碑。

如果您尝试检索整行并返回没有列的结果,则实际上意味着该行不存在。

于 2011-11-10T00:48:57.240 回答