0
私はRocks DBに膨大なデータセット(Key-Value)を持っており、キーのプレフィックスに基づいてキーを検索する必要があります。キープレフィックスに基づいてキーをフィルタリングするために全データセットをスキャンする必要はありません。それを行う方法はありますか?Rocks DBのJava APIがプレフィックススキャンをサポートしていますか?
私はRocks DBに膨大なデータセット(Key-Value)を持っており、キーのプレフィックスに基づいてキーを検索する必要があります。キープレフィックスに基づいてキーをフィルタリングするために全データセットをスキャンする必要はありません。それを行う方法はありますか?Rocks DBのJava APIがプレフィックススキャンをサポートしていますか?
このようなものを使用できます。 RocksIteratorを使用すると、キー部分文字列を探すことができる公開されたAPIがあり、キーが接頭辞で始まる場合は、そのキーを考慮してください。
サンプルコードをご覧ください。
List<String> result = new ArrayList<String>();
RocksIterator iterator = db.newIterator();
for (iterator.seek(prefix.getBytes()); iterator.isValid(); iterator
.next()) {
String key = new String(iterator.key());
if (!key.startsWith(prefix))
break;
result.add(String.format("%s", new String(iterator.key())));
}
ご希望の場合はお手数ですが、