2011-01-13 5 views
0

berkeley dbには自動インクリメントがありますか?著者は、データを処理するためにStoredSortedMapを使用collections.ship.tuple.Sampleを、ので、彼はキーを毎回入れる必要があります:autonicrement berkeley db、またはリスト

私はテストのためのJavaを使用してい

は、私は例を見ました。

バークレーに自動インクリメントがあるかどうか知りたいです。

または貯蔵し、検索対象のリストのようなものがあるかどうか...

答えて

4

デビッドSegleau、ここでBerkeley DBのための製品管理ディレクター。一般的に、バークレーDBフォーラムで質問することをお勧めします。活発なBerkeley DBアプリケーション開発者のコ​​ミュニティがあります。

あなたの質問に対する簡単な答えは、Berkeley DBには自動インクリメントサービスが用意されていることです。どのように使いたいか決めなければなりません。これらのオプションは次のとおりです。

  1. アプリケーションにコードを挿入します。 BDBはライブラリであり、アプリケーションにリンクされているので、多くの人がアプリケーション内で自動インクリメントキーの生成を制御するだけです。もちろん、マルチスレッドアプリケーションやマルチプロセスアプリケーションを開発する場合は、これはやや複雑になる可能性があります。
  2. 自動増分を管理するには、Berkeley DB Sequenceを使用します。基本的なKey/Value Pair APIまたはCollections APIを使用している場合(あなたの場合のように)、BDB Sequenceを作成し、適切なルーチンを呼び出して次の値を取得してから、その値を書き込み前に割り当てることができますレコード。 BDBシーケンスはトランザクション保護され、BDB環境全体で機能するため、マルチスレッドまたはマルチプロセスの問題はBDBライブラリで処理されます。 BDBリファレンスガイドの第19章およびJava API Programmers Reference GuideにBDBシーケンスに関する詳細があります。
  3. DPL(Direct Persistence Layer)APIを使用している場合は、主キーをシーケンスとして定義できます。 DPLは、put()操作中にキー値をインクリメントする処理を自動的に行います。

私はそれが役に立ちましたと思います。

よろしく、

デイブ

関連する問題