Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

SpringBoot Elasticache JedisMovedDataException:MOVED


Você está executando o Elaticache no modo Redis Cluster (somente o Redis Cluster responde com MOVED ), mas o connection factory está configurado no modo autônomo.

O Spring Boot pode configurar automaticamente todas as coisas que você configurou manualmente para você. Basicamente, remova seu CacheConfiguration class (ou pelo menos remova a maior parte do código):
@Configuration
public class CacheConfiguration {

  @Bean
  public RedisTemplate<String, Company> redisTemplate(RedisConnectionFactory connectionFactory) {
      RedisTemplate<String, Company> template = new RedisTemplate();
      template.setConnectionFactory(connectionFactory);
      return template;
  }
}

E, em seguida, configure as seguintes propriedades em seu application.properties Arquivo:
spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.

Spring Boot carrega application.properties por padrão e a configuração automática do Redis configura um RedisTemplate<Object, Object> feijão por padrão. A especialização de beans é um caso de uso válido – não duplique o que já foi fornecido pelo auto-config, especialmente se você deseja alcançar o que o auto-config faz.

Veja também:
  • Propriedades comuns do aplicativo
  • Configuração externalizada