Spring Data Redis setValueSerialization во время выполнения
Я использую Spring Boot и хочу использовать данные Redis Redis.
Теперь я хочу хранить пользовательские объекты в ключах. Я использую RedisTemplate.
@Bean
public RedisTemplate<String, ?> redisTemplate() {
RedisTemplate<String, ?> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory());
redisTemplate.setEnableTransactionSupport(true);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Demo.class));
return redisTemplate;
}
Но, как вы видите, я должен указать имя класса Demo.class в конфигурационном файле. Как я могу сделать это во время выполнения?
Под временем выполнения я подразумеваю, когда я сохраняю этот объект от клиента. Я хочу хранить правильный Json для Redis.
я пытался
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
Но он хранит это как
"{\"@class\":\"com.example.demo.Demo\",\"id\":11333,\"name\":\"demo\",\"age\":28,\"address\":\"Dmo Add\"}"