Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Połączenie z klastrem Redis nie powiodło się

Ok, myślę, że jest tu zamieszanie.

Wdrożenie klastra Redis to nie to samo, co liczba standardowych instancji Redis chronionych przez Sentinel. Dwie bardzo różne rzeczy.

Opcja „kliknij, aby wdrożyć” w GCE wdraża szereg standardowych instancji Redis chronionych przez Sentinel, a nie Redis Cluster.

ioredis może obsłużyć oba rodzaje wdrożeń, ale musisz użyć odpowiedniego API. W tym przypadku próbowałeś użyć interfejsu Redis Cluster API, co spowodowało ten błąd (polecenia związane z klastrem nie są aktywowane dla standardowych instancji Redis).

Zgodnie z dokumentacją ioredis, powinieneś połączyć się z:

var redis = new Redis({
    sentinels: [{ host: hostMaster, port: 26379 },
                { host: hostSlab1, port: 26379 },
                { host: hostSlab2, port: 26379 } ],
    name: 'mymaster'
});

Oczywiście sprawdź porty wartownika i nazwę kapitana. ioredis będzie automatycznie zarządzał przełączeniem na instancję podrzędną, gdy master ulegnie awarii, a sentinel zapewni, że slave zostanie promowany jako master tuż przed.

Pamiętaj, że ponieważ używasz pub/sub, będziesz potrzebować kilku połączeń redis.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd kanałów Django - Nie można zaimportować BACKEND 'asgi_redis.RedisChannelLayer'

  2. Jak Redis osiąga wysoką przepustowość i wydajność?

  3. implementacja pamięci podręcznej poza procesem przy użyciu Redis w systemie Windows Azure

  4. Zabezpieczanie węzła Redis

  5. Niestandardowe środowisko Railsowe Resque.enqueue nie tworzy zadań