Если вы хотите сохранить объект, вы можете использовать хэш
Pet pet = new Pet();
pet.setHeight(10);
pet.setName("tommy");
ObjectMapper oMapper = new ObjectMapper();
template.opsForHash().putAll("pet", oMapper.convertValue(pet, Map.class));
Pet pet1 = oMapper.convertValue(template.opsForHash().entries("pet"), Pet.class);
System.out.println(pet1.getName());
System.out.println(pet1.getHeight());
System.out.println(pet1.getWeight());
Конфигурация RedisTemplate
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(jedisConnectionFactory());
template.setEnableTransactionSupport(true);
return template;
}
Если вы хотите сохранить его как пару значений ключа
Pet pet = new Pet();
pet.setHeight(10);
pet.setName("tommy");
template.opsForValue().set("pettest", pet);
Pet pet2 = (Pet) template.opsForValue().get("pettest");
System.out.println("boo boo");
System.out.println(pet2.getName());
результат get pettest
в redis {"@class":"com.cisco.rediscluster.Pet","name":"tommy","height":10}