あなたはおそらくその間にそれを解決しましたが、さらなる答えを求める人のために。
春のデータredisリファレンスによると:
デフォルトでは、RedisCacheとRedisTemplateはJavaネイティブシリアル化を使用するように構成されています。
スタックトレースから、実際にキャッシュにRedisを使用していることがわかります。そのため、RedisCache
を構成する必要があります。 RedisTemplate
ではありません 。 RedisCache
@Bean
を取得していません RedisTemplate
を使用していないため 初めの。
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)));
}
}