我正在尝试在我的应用程序中使用Hazelcast实现分布式缓存。 我正在使用Hazelcast的IMap
。 我遇到的问题是每次从映射中获取值并更新该值时,我需要再次执行put(key, value)
操作。 如果我的值对象有10个属性并且我必须更新所有10个属性,则我必须调用put(key, value)
10次。 就像这样 -
IMap<Integer, Employee> mapEmployees = hz.getMap("employees");
Employee emp1 = mapEmployees.get(100);
emp1.setAge(30);
mapEmployees.put(100, emp1);
emp1.setSex(“F”);
mapEmployees.put(100, emp1);
emp1.setSalary(5000);
mapEmployees.put(100, emp1);
如果我不这样做,那么操作相同员工对象的另一个节点将对其进行更新,最终结果是员工对象未同步。有没有避免多次明确调用put的解决方案?在ConcurrentHashMap中,我不需要这样做,因为如果我更改了对象,则该映射表也会被更新。