Anda mungkin telah menyelesaikannya sementara itu, tetapi untuk pencari jawaban lebih lanjut.
Menurut referensi redis data pegas:
Secara default, RedisCache dan RedisTemplate dikonfigurasi untuk menggunakan serialisasi asli Java.
Dari stacktrace saya dapat melihat bahwa Anda sebenarnya menggunakan Redis untuk caching, jadi Anda perlu mengonfigurasi RedisCache
dan bukan RedisTemplate
. RedisCache
tidak mengambil @Bean
your Anda karena tidak menggunakan RedisTemplate
secara internal.
Contoh bagaimana Anda bisa melakukannya di 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)));
}
}