2011-01-13 58 views
0

做berkeley db有自動增量嗎?autonicrement berkeley db,或者列表

我使用的是測試Java,

我看到的例子:在這裏筆者使用StoredSortedMap處理數據collections.ship.tuple.Sample,所以他需要每次把一把鑰匙。

我想知道伯克利是否有自動增量的東西。

或者,如果有一種列表的存儲和檢索...

回答

4

大衛Segleau,伯克利DB這裏產品管理總監。一般來說,我們建議人們在Berkeley DB論壇上提問。您會在那裏找到一個活躍的Berkeley DB應用程序開發人員的大型社區。

您的問題的簡短答案是Berkeley DB具有自動遞增服務。你只需要決定你想如何使用它們。這些選項包括:

  1. 將代碼放入您的應用程序中。由於BDB是一個庫,並且它已鏈接到應用程序中,因此許多人只需控制應用程序本身內的自動增量密鑰生成。當然,如果你正在開發一個多線程或多進程應用程序,這可能會更復雜些。
  2. 使用伯克利DB序列來管理自動增量。如果您使用基本的鍵/值對API或Collections API(如您的情況),您可以創建一個BDB序列,調用相應的例程以獲取下一個值,然後在寫入之前將該值分配給鍵記錄。由於BDB序列在事務上受到保護並在BDB環境中起作用,因此BDB庫將處理任何多線程或多進程問題。您可以在BDB參考指南第19章和Java API Programmers Reference Guide中找到有關BDB Sequences的更多信息。
  3. 如果您使用DPL(直接持久層)API,則可以將主鍵定義爲序列。在put()操作期間,DPL將自動處理遞增鍵值。

我希望這有幫助。

問候,

戴夫