sql >> Databasteknik >  >> NoSQL >> Redis

Anslutning till Redis-kluster misslyckades

Ok, jag tror att det finns en förvirring här.

En Redis Cluster-distribution är inte samma sak som ett antal standard Redis-instanser som skyddas av Sentinel. Två väldigt olika saker.

Alternativet klicka för att distribuera GCE distribuerar ett antal standard Redis-instanser som skyddas av Sentinel, inte Redis Cluster.

ioredis kan hantera båda typerna av distributioner, men du måste använda motsvarande API. Här försökte du använda Redis Cluster API, vilket resulterade i detta fel (klusterrelaterade kommandon aktiveras inte för standard Redis-instanser).

Enligt ioredis dokumentation är det meningen att du ska ansluta till:

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

Kontrollera naturligtvis vaktportarna och befälhavarens namn. ioredis kommer automatiskt att hantera bytet till en slavinstans när mastern misslyckas, och sentinel kommer att se till att slaven befordras som master precis innan.

Observera att eftersom du använder pub/sub så behöver du flera redis-anslutningar.




  1. Redis Config Set med Node jS

  2. Är Mongodb Aggregation-ramverket snabbare än kartlägga/minska?

  3. Vad är det mest effektiva kommunikationsbiblioteket/metoden för node.js mellan processer?

  4. MongoDB-sökning när främmande fält är en samling objekt