基于Scala磁盘的Map
发布时间:2020-12-16 09:05:52 所属栏目:安全 来源:网络整理
导读:我有一个大的地图,不适合内存,因此我希望它生活在磁盘上.我有以下选择: 使用像MapDB这样的纯Java库:这有效,但我没有得到Scala 收集糖如getOrElseUpdate和=和 应用/更新方法.我可以在Scala中围绕MapDB创建自己的包装类,但我真的不想手动实现所有的Map特性.
我有一个大的地图,不适合内存,因此我希望它生活在磁盘上.我有以下选择:
>使用像MapDB这样的纯Java库:这有效,但我没有得到Scala 那么是否有任何一个很好的scala only库来实现地图的Scala集合糖,但是它会回落到磁盘和/或大型地图的键值存储中? 解决方法
值得一提的是
Chronicle Map:它与MapDB(磁盘持久的ConcurrentMap实现)基本相同,但它比MapDB的
much more efficient.
例: val cache: mutable.Map[String,java.util.List[String]] = ChronicleMap .of(classOf[String],classOf[java.util.List]) .averageKey("key") .averageValue(...) .valueMarshaller(ListMarshaller.of( CharSequenceBytesReader.INSTANCE,CharSequenceBytesWriter.INSTANCE )) .entries(...) .createPersistedTo(file) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |