2012-11-16 35 views
11

似乎沒有這樣的接口..如何快速獲取leveldb中的確切密鑰數量?

我是否必須迭代所有的鍵來獲得計數?

那是什麼設計目的?或者實現此功能的限制是什麼?

+0

是的,你必須迭代所有的鍵,除非你在插入/刪除記錄時實現自己的記錄(這應該相當容易)。 – Kiril

回答

9

「沒有辦法在leveldb中比外部更有效地實現Count。」美國官方issue 113

貌似有沒有更好的辦法做到這一點,除了要麼在整個數據集迭代或實現自己的應用程序上寫計數器

1

可能在建立LevelDB時,原始作者不需要此API。 令人遺憾的是,LevelDB沒有可用於記錄計數的增量API。你現在可以做的是在Leveldb中讀寫密鑰,但這不是線程安全的。

也許你可以看看Redis,如果它更適合你的用例。