leveldbを使用してキープレフィックスで反復するキー列挙子を実装する効率的な方法を探しています。キーはバイト配列であり(dbはデフォルトのバイト配列比較子を使用するため、特定のプレフィックスを持つすべてのキーが順番に格納/取得されます)、イテレーターがキープレフィックスを取得し、それを持つキーを持つデータのみを返すことができるようにしたいと思いますプレフィックス。
デフォルトのdbイテレータを使用または継承し、範囲内の最初のキーを探し(もちろん、それが何であるかを知る必要があります)、プレフィックスで始まるすべてのスライスを検証して返す必要がありますか(movenextなどをオーバーライドします) )?または、これを実装するためのより効率的な方法はありますか?
誰かがすでにこれを解決していて、コードまたは一般的なアイデアを共有できるかどうかを教えてください。私はこれをC++/ CLIから試していますが、どの言語での実装でも役に立ちます。
ありがとう。-raj。