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

Hash 如何在Aerospike中通过哈希摘要获取记录,hash,aerospike,Hash,Aerospike,我可以通过以前保存的哈希摘要从aerospike数据库检索记录吗?下面是一个如何在aerospike client for Python中执行此操作的示例。需要一个有效的,可以是(名称空间,集合,None,摘要),而不是更标准的(名称空间,集合,主键) 在Aerospike中定位记录需要三件事——名称空间、集合名称(如果使用,可以为null)和键(最初使用的键——比如字符串或整数)。传递给get调用的“Key”对象包含这三个实体。客户端库将使用set+your键计算散列,然后另外使用名称空间来获

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

下面是一个如何在aerospike client for Python中执行此操作的示例。需要一个有效的,可以是(名称空间,集合,
None
,摘要),而不是更标准的(名称空间,集合,主键)


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

>>> 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()