Tag: chronicle map

ChronicleMap中的多重映射

ChronicleMap的GitHub肯定有关于ChronicleMap中 Multimaps的免责声明: 纪事地图不是…… ……没有二级索引。 多图。 使用ChronicleMap<K, Collection>作为multimap在技术上是可行的,但经常导致问题…… 不幸的是,这是我的一个使用案例,并使用堆外存储(使用ChronicleMap)肯定是最简单的方法。 让我试着用比萨饼来解释我的问题。 我有10万种不同的比萨饼。 每个披萨都有一个ID和许多不同的浇头和面包皮。 我有三种访问模式: 通过ID给我披萨。 给我所有有特别馅料的比萨饼。 给我所有有特殊shell的比萨饼。 我可以使用ChronicleMap轻松存储比萨饼。 但这只是一种访问模式。 我不想遍历每一个披萨,找到具有匹配的顶部或shell的披萨。 所以,我想存储像ChronicleMap<Topping,Collection>和ChronicleMap<Crust,Collection> 。 然后,如果有人问我所有的意大利辣香肠披萨,我会在顶部的ChronicleMap中查找匹配的比萨饼的UUID,然后在主披萨地图中。 但上面引用的文件让我感到害怕。 有谁知道这些事情经常导致的“问题”是什么? 我为什么不这样做,即使它似乎对我有用? 它是否与ChronicleMap如何存储序列化对象(特别是集合)有关? 针对潜在问题的一些补充说明: 我们稍后可能会添加比萨饼,这也需要更新collections品。 许多进程正在尝试执行这些操作,因此需要通过ChronicleMap而不仅仅是基本的ConcurrentMap来共享地图。