У меня есть некоторые подозрения, но не могли бы вы поделиться чуть большим фрагментом кода о том, как вы используете redisTemplate для сохранения данных в redis?
Но, скорее всего, это потому, что вы настроили инициализацию как ключа, так и значения в RedisTemplate
RedisTemplate<K, V>
как <String, String>
Именно поэтому даже с Jackson2JsonSerializer он не может сериализовать и десериализовать класс List<Address>
должным образом.
Возможное решение будет:
@Bean
public RedisTemplate<String, Person> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
RedisTemplate<String, Person> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
А затем вы сохраняете весь объект Person в Redis
Когда вам это нужно, вы извлекаете весь объект и реализуете свой метод получения и установки.
Надеюсь, это поможет