sql >> Databáze >  >> NoSQL >> Redis

SpringBoot Elasticache JedisMovedDataException:MOVED

Spouštíte svůj Elasticache v režimu Redis Cluster (pouze Redis Cluster odpovídá MOVED ), ale továrna připojení je nakonfigurována v samostatném režimu.

Spring Boot dokáže automaticky nakonfigurovat všechny věci, které jste nastavili ručně. V zásadě odeberte CacheConfiguration class (nebo alespoň odstranit většinu kódu):

@Configuration
public class CacheConfiguration {

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

A poté nakonfigurujte následující vlastnosti v application.properties soubor:

spring.redis.cluster.nodes=<node_host>:<port> # Comma-separated list of "host:port" pairs to bootstrap from.

Spring Boot načte application.properties ve výchozím nastavení a automatická konfigurace Redis konfiguruje RedisTemplate<Object, Object> ve výchozím nastavení fazole. Specializace beanů je platný případ použití – neduplikujte to, co již poskytuje automatická konfigurace, zvláště pokud chcete dosáhnout toho, co dělá automatická konfigurace.

Viz také:

  • Společné vlastnosti aplikace
  • Externalizovaná konfigurace



  1. Oprava „$pullAll vyžaduje argument pole, ale dostal double“ v MongoDB

  2. Redis vs MongoDB

  3. Jak získat všechny čekající úlohy ve frontě laravel na redis?

  4. Jak používat $ regex v agregačním dotazu mongodb v rámci $match