autonicrement berkeley db,或列表

发布于 2024-10-11 21:49:03 字数 196 浏览 3 评论 0原文

berkeley db 有自动增量吗?

我正在使用java进行测试,

我看到了这个例子:collections.ship.tuple.Sample,其中作者使用StoredSortedMap来处理数据,所以他每次都需要输入一个键。

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

或者如果有一种要存储和检索的列表......

Do berkeley db has autoincrement?

I'm using java for testing,

I saw the example: collections.ship.tuple.Sample where the author uses a StoredSortedMap to handle the data, so he needs to put a key every time.

I'd like to know if the Berkeley has autoincrement stuff.

Or if there is a kind of list to be stored and retrieved...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

从﹋此江山别 2024-10-18 21:49:03

David Segleau,Berkeley DB 产品管理总监。一般来说,我们建议人们在 Berkeley DB 论坛上提问。您会在那里找到一个由活跃的 Berkeley DB 应用程序开发人员组成的大型社区。

对您问题的简短回答是 Berkeley DB 提供自动增量服务。您只需决定如何使用它们即可。这些选项包括:

  1. 将代码放入您的应用程序中。由于 BDB 是一个库并且它链接到您的应用程序中,因此许多人只需在应用程序本身内控制自动增量密钥生成。当然,如果您正在开发多线程或多进程应用程序,这可能会更加复杂。
  2. 使用 Berkeley DB 序列来管理自动增量。如果您使用基本的键/值对 API 或集合 API(如您的情况),您可以创建 BDB 序列,调用适当的例程以获取下一个值,然后在写入之前将该值分配给键记录。由于 BDB 序列受到事务保护并在 BDB 环境中运行,因此任何多线程或多进程问题都由 BDB 库处理。您可以在 BDB 参考指南第 19 章和 Java API 程序员参考指南中找到有关 BDB 序列的更多信息。
  3. 如果您使用 DPL(直接持久层)API,则可以将主键定义为序列。然后,DPL 将在 put() 操作期间自动负责增加键值。

我希望这有帮助。

问候,

戴夫

David Segleau, Director of Product Management for Berkeley DB here. Generally, we recommend that people ask questions on the Berkeley DB forums. You'll find a large community of active Berkeley DB application developers there.

The short answer to your question is that Berkeley DB has auto-increment services available. You just have to decide how you want to use them. Those options include:

  1. Put the code in your application. Since BDB is a library and it's linked into your application, many people simply control auto-increment key generation within the application itself. Of course, this can be somewhat more complicated if you are developing a multi-threaded or multi-process application.
  2. Use the a Berkeley DB Sequence to manage auto-increment. If you are using the basic Key/Value Pair API or the Collections API (as in your case), you can create a BDB Sequence, call the appropriate routines in order to get the next value and then assign that value to the key before writing the record. Since BDB Sequences are transactionally protected and function across a BDB environment, any multi-threading or multi-process issues are taken care of by the BDB library. You can find more information about BDB Sequences in chapter 19 of the BDB Reference Guide and in the Java API Programmers Reference Guide.
  3. If you are using the DPL (Direct Persistence Layer) API, you can define the primary key as a sequence. The DPL will then automatically take care of incrementing the key value during a put() operation.

I hope that was helpful.

Regards,

Dave

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文