Redis
 sql >> Base de données >  >> NoSQL >> Redis

La connexion au cluster Redis a échoué

Ok, je pense qu'il y a une confusion ici.

Un déploiement Redis Cluster n'est pas la même chose qu'un certain nombre d'instances Redis standard protégées par Sentinel. Deux choses très différentes.

L'option de déploiement en un clic de GCE déploie un certain nombre d'instances Redis standard protégées par Sentinel, et non Redis Cluster.

ioredis peut gérer les deux types de déploiements, mais vous devez utiliser l'API correspondante. Ici, vous essayiez d'utiliser l'API Redis Cluster, ce qui a entraîné cette erreur (les commandes liées au cluster ne sont pas activées pour les instances Redis standard).

D'après la documentation ioredis, vous êtes censé vous connecter avec :

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

Bien sûr, vérifiez les ports sentinelles et le nom du maître. ioredis gérera automatiquement le basculement vers une instance esclave en cas de défaillance du maître, et sentinelle s'assurera que l'esclave est promu maître juste avant.

Notez que puisque vous utilisez pub/sub, vous aurez besoin de plusieurs connexions redis.