它们是Java的Map的任何体面的磁盘实现吗?

jju*_*uma 13 java collections

我正在寻找磁盘上的实现java.util.Map.没有什么太花哨的东西,只是我可以指向一个目录或文件并让它以其选择的某种方式将其内容存储在那里.有谁知道这样的事情?

aio*_*obe 10

您可以查看Disk-Backed-map项目.

在Java中实现磁盘支持映射的库

一个小型库,提供用于存储大量键值对的磁盘支持的映射实现.对于非常简单的键/值对,地图实现(HashMap,HashTable)最大可以输出大约3-4百万个键/ GB内存,并且在大多数情况下,限制要低得多.另一方面,DiskBacked地图可以存储在16Million(64bit JVM)到20Million(32bit JVM)密钥/ GB之间,无论密钥/值对的大小如何.


Man*_*res 6

如果您正在寻找key-object基础结构来保存数据,那么NoSQL数据库是一个非常好的选择.您会发现其中一些MongoDBRedis可以扩展并执行大数据集,除了基于散列的查找之外,它们还提供了有趣的查询和事务功能.

实质上,这些类型的系统是Map实现.并且实现自己的实现java.util.Map桥接它们的适配器应该不会太复杂.


And*_*ejs 5

MapDB(mapdb.org)完全符合您的要求.除了磁盘支持的TreeMap和HashMap,它还为您提供了其他集合类型.

它的地图也是线程安全的,并且具有非常好的性能.

查看功能