2015-04-10 3 views
0

Мне нужно знать внутреннюю рабочую работу с лещей. давайте предположим следующий сценарий.HazelCast предоставляет любой механизм обновления?

У меня есть классы.

Class User{ 
// come Fileds 
} 

MainClass 

Class MainClass{ 
    public static void main(String[] args){ 
     //lets assume, I have a map, that contains User.java objects in its  value. Also I have implemented loadStore. 
IMap<String, User> userMap = hazelcastClient.getMap("User"); 
User user = userMap.get("userid"); 
// i updated some fields in user object. 
user.age(26); 
userMap.put("userid", user); 


} 
} 

Я хочу знать, что произойдет в магазине, когда я поставлю обновленный объект класса пользователя на карте против того же ключа? либо hcast собирает запись всего объекта целиком в свой метод хранилища или просто обновление? выполняет ли версия hazelcast записи, хранящиеся в ней?

ответ

2

Он всегда читает и пишет (десериализирует и сериализует) весь объект. http://blog.hazelcast.com/2013/06/13/updated-comparing-hazelcast-3-serialization-methods-with-kryo-serialization-and-jackson-smile/

+0

Это правильно. Hazelcast работает на уровне blob; поэтому мы не видим изменений в полях. – pveentjer

+0

С тех пор как BLOB были упомянуты, люди часто забывают (или никогда не осознают), что упорство NoSQL: индексированные BLOB. –

0

Если использовать объектв памяти формата, как то, что не будет никаких затрат десериализации и сериализации. И если вы обновляете поле объекта, тогда вы можете попробовать использовать Процессор ввода. Это улучшит производительность.

Смежные вопросы