可能是python的初学者问题。
我能够像这样对aerospike db查询的结果进行迭代-
client = aerospike.client(config).connect()
scan = client.scan('namespace', 'setName')
scan.select('PK','expiresIn','clientId','scopes','roles') # scan from aerospike
scan.foreach(process_result)
def process_result((key, metadata, record)):
expiresIn = record.get("expiresIn")
现在,我要做的就是从这个集合中获取第n条记录,而不必遍历所有内容。
我尝试查看Get the nth item of a generator in Python,但意义不大。
答案 0 :(得分:2)
扫描操作的结果来自集群中所有流水线的节点,没有特定顺序。从这种意义上说,在顺序方面,第一个记录或第N个记录之间没有区别。没有订单。
答案 1 :(得分:1)
通常,解决方法是将扫描策略设置为仅返回摘要,将其存储为列表(或具有较小列表的几条记录)并在批读取中进行分页。您可以设置合理的TTL,以便此结果集具有合理的时间长度。
如有需要,我可以提供示例代码。