我有一个很大的 lmdb,大约 800K 图像。我只想一一阅读条目。我的代码非常简单,如下所示:
with env.begin() as txn:
cursor = txn.cursor()
for key, value in cursor:
print(key)
但是在阅读了大约 70000 个条目后,它的内存不足(~10GB)。我不知道为什么。我试着像下面那样做,但没有用。
for r in range(0,env.stat()['entries']):
if r%10000==0:
if r!=0:
txn.commit()
cur.close()
txn=env.begin()
cur = txn.cursor()
print("Change Change Change "+ str(r))
sys.stdout.flush()
if r==0:
cur.first()
else:
cur.set_range(key)
cur.next()
key, value = cur.item()
有什么建议吗?