Berkeley DB可能是最好的选择,但由于许可问题我无法使用它。
还有其他选择吗?
答案 0 :(得分:7)
您可以尝试Hazelcast。只需将hazelcast.jar添加到您的类路径中即可。并开始编码
java.util.Map map = Hazelcast.getMap("myMap");
您将获得一个内存分布式,动态可扩展的数据网格,可以超级快速地执行。
答案 1 :(得分:3)
你的问题可能意味着两件事之一。
如果您指的是用于存储键值对的数据结构,请使用作为JDK标准部分的Map
个实例之一。
答案 2 :(得分:2)
答案 3 :(得分:2)
Chronicle-Map是一个很好的选择。
java.util.Map
实施答案 4 :(得分:1)
jdbm非常适合这类事情。它用于在分页文件中存储在磁盘上,提供基本的事务支持(不保证隔离,但涵盖了ACD)。我们在部署相当广泛的生产系统中使用它,并且对性能,稳定性等非常满意......
答案 5 :(得分:1)
考虑使用jredis。它是Redis的Java客户端,Redis是一个持久的键值存储。还有一个JDBC驱动程序:code.google.com/p/jdbc-redis /.
答案 6 :(得分:1)
我知道这是一篇已有两年历史的帖子,但最近我一直在和Infinispan搞混,我到目前为止还喜欢它。我不是一个专家,但是对我来说设置一个带有几个节点的分布式缓存并不困难,而且我在大约一个小时内从它们中提取了一些数据。
答案 7 :(得分:1)
MapDb是Berkley的替代品,具有友好的Apache 2许可证。
答案 8 :(得分:0)
有轻量级或嵌入式dbs,如HSQLDB,Derby,SQLite 但是像其他人一样,不明白为什么需要db来存储键/值......
为什么不是地图? 需要在重启时保持键/值吗?
也可能不是你需要的,但是在最新的浏览器上使用html5你可以使用localStorage,它允许你使用javascript在浏览器中存储键/值。
答案 9 :(得分:0)