Redis
 sql >> база данни >  >> NoSQL >> Redis

SpringBoot Elasticache JedisMovedDataException:MOVED

Вие изпълнявате своя Elasticache в режим Redis Cluster (само Redis Cluster отговаря с MOVED ), но фабриката за свързване е конфигурирана в самостоятелен режим.

Spring Boot може автоматично да конфигурира всички неща, които сте настроили ръчно вместо вас. По принцип премахнете вашата CacheConfiguration клас (или поне премахнете по-голямата част от кода):

@Configuration
public class CacheConfiguration {

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

След това конфигурирайте следните свойства във вашия application.properties файл:

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

Spring Boot зарежда application.properties по подразбиране и Redis auto-config конфигурира RedisTemplate<Object, Object> фасул по подразбиране. Специализираните бинове са валиден случай на употреба – не дублирайте това, което вече е предоставено от auto-config, особено ако искате да постигнете това, което прави auto-config.

Вижте също:

  • Общи свойства на приложението
  • Външна конфигурация



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Има ли нещо като Redis DB, но не ограничено с размера на RAM?

  2. Как да конфигурирам Spring сесиите да работят с Redis в xml?

  3. Redis `SCAN`:как да поддържаме баланс между новодошлите ключове, които могат да съвпадат и да гарантират краен резултат в разумен срок?

  4. Каква е стратегията за кеширане по подразбиране, когато използвате Redis с пружинно или пружинно зареждане?

  5. Redis на Azure Performance Benchmark – ScaleGrid за Redis™ срещу Azure Cache