如何通过Aerospike中的哈希摘要获取记录

时间:2017-02-14 09:07:52

标签: hash aerospike

我可以通过先前保存的哈希摘要从aerospike数据库中检索记录吗?

2 个答案:

答案 0 :(得分:3)

以下是如何在Aerospike客户端中使用Python的示例。 Client.get需要一个有效的key tuple,它可以是(名称空间,设置,None,摘要),而不是更标准的(名称空间,集合,主键)。

>>> client = aerospike.client(config).connect()
>>> client.put(('test','demo','oof'), {'id':0, 'a':1})
>>> (key, meta, bins) = client.get(('test','demo','oof'))
>>> key
('test', 'demo', None, bytearray(b'\ti\xcb\xb9\xb6V#V\xecI#\xealu\x05\x00H\x98\xe4='))
>>> (key2, meta2, bins2) = client.get(key)
>>> bins2
{'a': 1, 'id': 0}
>>> client.close()

答案 1 :(得分:2)

你需要三件事来定位Aerospike中的记录 - 名称空间,集合名称(如果使用,可以为null)和你的密钥(你最初使用的 - 比如一个字符串或整数)。 " Key"传递给get调用的对象包含这三个实体。客户端库将使用set + your key计算哈希值,然后使用命名空间来获取记录。 Aerospike只存储散列(除非sendKey设置为true),但您也需要命名空间。因此,在您的情况下,您可以通过指定命名空间和哈希创建传递给get()的Key对象,然后将该键对象传递给get(),但不能仅使用散列而不指定命名空间的get()