Codewisely, könnten Sie db->GetProperty("rocksdb.estimate-num-keys", &num)
verwenden, um die geschätzte Anzahl von Tasten in einem rocksdb gespeichert zu erhalten.
Eine weitere Option ist das sst_dump
Werkzeug mit --show_properties
Argumente zu verwenden, um die Anzahl der Einträge zu bekommen, obwohl das Ergebnis pro Datei-Basis sein würde. Beispielsweise liefert der folgende Befehl die Eigenschaften jeder SST-Datei unter dem angegebenen rocksdb Verzeichnis:
sst_dump --file=/tmp/rocksdbtest-691931916/dbbench --show_properties --command=none
Und hier ist das Beispiel für die Ausgabe:
Process /tmp/rocksdbtest-691931916/dbbench/000005.sst
Sst file format: block-based
Table Properties:
------------------------------
# data blocks: 845
# entries: 27857
raw key size: 668568
raw average key size: 24.000000
raw value size: 2785700
raw average value size: 100.000000
data block size: 3381885
index block size: 28473
filter block size: 0
(estimated) table size: 3410358
filter policy name: N/A
# deleted keys: 0
Process /tmp/rocksdbtest-691931916/dbbench/000008.sst
Sst file format: block-based
Table Properties:
------------------------------
# data blocks: 845
# entries: 27880
raw key size: 669120
...
mit einigen Shell-Befehlen kombinieren, können Sie
sst_dump --file=/tmp/rocksdbtest-691931916/dbbench --show_properties --command=none | grep entries | cut -c 14- | awk '{x+=$0}END{print "total number of entries: " x}'
Und dies wird erzeugt die folgende Ausgabe:: die Gesamtzahl der Einträge zu bekommen
total number of entries: 111507