【发布时间】:2013-03-29 03:33:40
【问题描述】:
有一些 Cassandra 操作来验证列族是否包含键?我们不需要任何行数据,只需要键是否存在。
最好的问候
【问题讨论】:
-
您要查找具有特定键值的列还是任意列?
-
在保存用户数据之前,我们要检查这个用户是否存在。
标签: cassandra
有一些 Cassandra 操作来验证列族是否包含键?我们不需要任何行数据,只需要键是否存在。
最好的问候
【问题讨论】:
标签: cassandra
如果您使用的是 Java,则为 rowKey 创建一个 SliceQuery,并将开始/结束值设置为等于您要查找的特定列键。如果有一列具有特定键,则以下表达式为真:
sliceQuery.execute().get().getColumns().size() > 0
【讨论】:
一种快速的方法是询问该行的列数,如果它是肯定的,则该行存在。由于墓碑,“不存在”周围有一个灰色区域。您可以删除一行的所有列,但请求该行的数据可能会导致一组空的列而不是null(这在很大程度上取决于您使用的驱动程序)。您应该将没有列的行视为不存在,因此询问列数可能是确定行是否存在的最佳方法。
Cassandra FAQ under "range ghosts" 中有更多相关信息。
【讨论】: