我是Aerospike的新手,可能缺少一些基本知识,但是我试图在Keys
中看到Set
的枚举(我故意避免使用“列表”一词因为它是数据类型)。
例如,
Namespaces
,文档说要使用SHOW NAMESPACES
Sets
,我们可以使用SHOW SETS
如果我想在Keys
中看到所有唯一的Set
...我可以使用什么命令?
似乎可以使用client.scan()
...,但这似乎是获得 just 密钥的一种超级繁琐的方式(因为它也可以获取所有bin数据)。 / p>
任何建议都值得赞赏!到目前为止,我正在考虑将元记录插入(删除)。
答案 0 :(得分:2)
感谢@pgupta向我指出正确的方向。
这实际上包括两个部分:
put()
调用期间设置策略以保存服务器端的密钥值(否则,似乎只存储了摘要/哈希?) 。 这是Python中的示例:
aerospike_client.put(key, {'bin': 'value'}, policy={'key': aerospike.POLICY_KEY_SEND})
示例:
keys = []
scan = client.scan('namespace', 'set')
scan_opts = { 'concurrent': True, 'nobins': True, 'priority': aerospike.SCAN_PRIORITY_MEDIUM }
for x in (scan.results(policy=scan_opts)): keys.append(x[0][2])
对结果进行迭代的需求在我看来仍然有些笨拙;我仍然认为,就我而言,使用“主键”记录存储所有 other 键的列表将更有成效-这样,我可以简单地制作一个{{1 }}调用Aerospike服务器以检索列表。
答案 1 :(得分:1)
通过将ScanPolicy中的includeBinData设置为false,可以选择不带回数据。