我有两个定义如下的榛树地图。
IMap<EmpKey, Employee> employeeMap = hazelcastInstance.getMap("employeeMap");
IMap<EmpKey, EmployeeFamily> familyMap = hazelcastInstance.getMap("familyMap");
我知道密钥被序列化(被转换为字节 [] 数组),然后被散列,其结果是没有分区的“mod”。这为我们提供了将存储数据的分区的 ID。此外,从每个成员的分区表中,它标识了分区的所有者。这意味着两者employeeObj
和family
具有相同的对象empKey
都将存储在同一个分区中。
我想知道这一步之后会发生什么。我了解密钥存储为 com.hazelcast.nio.serialization.Data 类(二进制形式)。是否会为每个哈希图维护单独的哈希桶,其键存在于给定分区中,以便更快地访问?
我知道分区数是可配置的,但我想在修改任何配置之前了解一些内部情况。