Bạn đang chạy Elasticache của mình ở chế độ Redis Cluster (chỉ Redis Cluster phản hồi với MOVED
) nhưng nhà máy kết nối được định cấu hình ở chế độ độc lập.
Spring Boot có thể tự động cấu hình tất cả những thứ bạn đã thiết lập theo cách thủ công cho bạn. Về cơ bản, hãy xóa CacheConfiguration
của bạn lớp (hoặc ít nhất là loại bỏ phần lớn mã):
@Configuration
public class CacheConfiguration {
@Bean
public RedisTemplate<String, Company> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Company> template = new RedisTemplate();
template.setConnectionFactory(connectionFactory);
return template;
}
}
Và sau đó định cấu hình các thuộc tính sau trong application.properties
của bạn tệp:
spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.
Spring Boot tải application.properties
theo mặc định và Redis tự động định cấu hình một RedisTemplate<Object, Object>
bean theo mặc định. Chuyên môn hóa bean là một trường hợp sử dụng hợp lệ - không sao chép những gì đã được cung cấp bởi cấu hình tự động, đặc biệt nếu bạn muốn đạt được những gì mà cấu hình tự động thực hiện.
Xem thêm:
- Các thuộc tính ứng dụng phổ biến
- Cấu hình bên ngoài