Bạn có thể đã giải quyết được nó trong khi đó, nhưng đối với những người tìm kiếm câu trả lời khác.
Theo dữ liệu mùa xuân redis tham khảo:
Theo mặc định, RedisCache và RedisTemplate được định cấu hình để sử dụng tuần tự hóa gốc Java.
Từ stacktrace, tôi có thể thấy rằng bạn thực sự đang sử dụng Redis để lưu vào bộ nhớ đệm, vì vậy bạn cần định cấu hình RedisCache
chứ không phải RedisTemplate
. RedisCache
không nhận @Bean
của bạn vì nó không sử dụng RedisTemplate
trong nội bộ.
Ví dụ về cách bạn có thể làm điều đó trong 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)));
}
}