伯克利分贝是否具有自动增量功能?
我正在使用Java进行测试,
我看到了一个示例:collections.ship.tuple.Sample,其中作者使用StoredSortedMap处理数据,因此他每次都需要输入一个密钥。
我想知道伯克利是否具有自动增量功能。
或者如果有一种列表要存储和检索...
最佳答案
伯克利DB产品管理总监David Segleau在这里。通常,我们建议人们在Berkeley DB论坛上提问。您会在这里找到大量活跃的Berkeley DB应用程序开发人员社区。
您问题的简短答案是Berkeley DB提供了自动增量服务。您只需要决定如何使用它们即可。这些选项包括:
将代码放入您的应用程序。由于BDB是一个库,并且已链接到您的应用程序,因此许多人只需要在应用程序内部控制自动增量密钥的生成即可。当然,如果要开发多线程或多进程应用程序,这可能会更加复杂。
使用Berkeley DB Sequence来管理自动增量。如果使用基本的键/值对API或Collections API(如您的情况),则可以创建BDB序列,调用适当的例程以获得下一个值,然后在写入之前将该值分配给键记录。由于BDB序列在BDB环境中受到事务保护并可以在BDB环境中运行,因此BDB库可解决任何多线程或多进程问题。您可以在《 BDB参考指南》第19章和Java API Programmers Reference Guide中找到有关BDB序列的更多信息。
如果您使用的是DPL(直接持久层)API,则可以将主键定义为序列。然后,DPL将在put()操作期间自动照顾增加键值。
我希望这会有所帮助。
问候,
戴夫