我们正在开发一个项目,该项目将使用单个jar文件进行分发。我们需要一些具有以下属性的键值存储:
BerkelyDB或JDBM2 / 3以外的任何建议?
答案 0 :(得分:3)
GNU Trove提供了许多映射(例如TIntIntHashMap),它们比标准Java映射更具内存效率,因为它们使用原始类型。我怀疑你可以获得比这更大的内存效率,除非你知道你正在存储什么。 Trove是more or less LGPL,因此您使用它可能是安全的。我不知道它是否特别符合您的确切规格,但我认为当您可以将内容装入RAM时,这是值得尝试的。
当您可能需要交换到磁盘时,Ehcache是一个不错的选择。您可以指定在一定数量的条目之后它将在磁盘上存储值(如果您不知道确切的条目数,则可以在使用一定量的RAM之后指定版本2.5中的新版本。)
答案 1 :(得分:0)
看看noSQL实现,CouchDB,Cassandra等等都非常好。
谷歌搜索比较,你会找到你想要的。
我最喜欢的是mongoDb,不幸的是它不是基于Java的
问候