Wie man die genaue Anzahl von Schlüsseln in leveldb schnell?
Es scheint, gibt es keine solche Schnittstelle..
Muss ich Durchlaufen alle Tasten, um die Anzahl?
Was ist den design-Zweck? Oder was ist die Begrenzung der diese Funktion implementiert?
- Ja, Sie haben Durchlaufen Sie alle Schlüssel, es sei denn, Sie implementieren Ihre eigenen Rekord zu zählen, wenn man einfügen/entfernen von Datensätzen (die sollten ziemlich leicht sein).
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Es gibt keinen Weg zur Umsetzung Zählen mehr effizient im leveldb als außerhalb." Staaten offizielle Ausgabe 113
Sieht aus wie es gibt keinen besseren Weg, es zu tun, außer entweder Iteration durch das gesamte dataset oder die Umsetzung Ihrer eigenen in-App - on-write-Zähler.
Wahrscheinlich, als LevelDB wurde gebaut, das API wurde nicht erforderlich für die original-Autoren.
Leider LevelDB nicht über ein Inkrement-API, die Sie verwenden können, um die Aufzeichnung zu zählen. Was Sie tun können, jetzt ist Lesen und schreiben ein Schlüssel in Leveldb, aber dies ist nicht thread-sicher.
Vielleicht könnten Sie einen Blick auf Redis, wenn es besser geeignet ist für Ihren Fall.