Probabilmente l'hai risolto nel frattempo, ma per altri cercatori di risposte.
Secondo i dati primaverili redis riferimento:
Per impostazione predefinita, RedisCache e RedisTemplate sono configurati per utilizzare la serializzazione nativa Java.
Da stacktrace posso vedere che stai effettivamente usando Redis per la memorizzazione nella cache, quindi devi configurare RedisCache
e non RedisTemplate
. RedisCache
non sta raccogliendo il tuo @Bean
perché non utilizza RedisTemplate
internamente.
Esempio di come puoi farlo in Java:
@EnableCaching
@Configuration
public class CacheConfig {
@Bean
@Primary
public RedisCacheConfiguration defaultCacheConfig(ObjectMapper objectMapper) {
return RedisCacheConfiguration.defaultCacheConfig()
.serializeKeysWith(SerializationPair.fromSerializer(new StringRedisSerializer()))
.serializeValuesWith(SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer(objectMapper)));
}
}