Cassandra和Pycassa:确定具有特定键的行是否存在的最佳方法

时间:2013-09-09 13:33:37

标签: python cassandra pycassa

使用pycassa,确定具有特定密钥的记录是否存在的最佳方法是什么?这是

try:
    cf.get(key, columns=[])
except pycassa.NotFoundException:
    # Not exists
else:
    # Exists

是一个很好的解决方案吗?这只会使用密钥缓存吗?

更新:我刚试过这个查询,如果指定了pycassa.NotFoundException,它总是会引发columns=[]

1 个答案:

答案 0 :(得分:1)

要查看cf中是否存在特定的行键,请执行以下操作:

>>> cf.get(key)
{'col_name': 'col_val', 'col_name2': 'col_val2'}

如果该行密钥恰好位于密钥缓存中,则将使用缓存中的值。 您需要查看相应的sstables以查找与此行键对应的实际值。这可能需要(缓慢)磁盘搜索/访问,除非你很幸运并点击行缓存或(linux)页面缓存。