sql >> Database >  >> NoSQL >> Redis

SpringBoot Elasticache JedisMovedDataException:VERPLAATST

U draait uw Elasticache in Redis Cluster-modus (alleen Redis Cluster reageert met MOVED ) maar de verbindingsfabriek is geconfigureerd in de zelfstandige modus.

Spring Boot kan alle dingen die u handmatig voor u hebt ingesteld automatisch configureren. Verwijder in principe uw CacheConfiguration class (of verwijder in ieder geval de meeste code):

@Configuration
public class CacheConfiguration {

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

En configureer vervolgens de volgende eigenschappen in uw application.properties bestand:

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

Spring Boot laadt application.properties standaard en de Redis auto-config configureert een RedisTemplate<Object, Object> boon standaard. Beans specialiseren is een geldige use-case - dupliceer niet wat al door de auto-config is geleverd, vooral als je wilt bereiken wat auto-config doet.

Zie ook:

  • Algemene applicatie-eigenschappen
  • Externe configuratie



  1. Hoe remote mongodb te verbinden met pymongo

  2. Microservices-architectuur voor zeer frequente gegevenstoegang; in geheugenoplossingen?

  3. Wat is het verschil tussen Spring Data MongoDB en Hibernate OGM voor MongoDB?

  4. MongoDB-indexen begrijpen