In RedisTemplate need to declare four kinds serializer, the default is "JdkSerializationRedisSerializer":
Serialization Strategies For ordinary KV operation, key taken: 1) keySerializer
2) valueSerializer: serialization value strategy adopted
3) hashKeySerializer: the hash data structure, hash-key sequence strategy
4) hashValueSerializer: hash-value serialization strategy
public void setSerializer(RedisTemplate template) {
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setValueSerializer(jackson2JsonRedisSerializer);
template.setKeySerializer(new StringRedisSerializer());
}