J'ai résolu ce problème en passant le module redis lui-même en option au constructeur RedisStore.
io.set('store', new RedisStore({redis: redis, redisPub: redisClient, redisSub: redisSubscriber, redisClient: redisClient }));
Cela était nécessaire pour que les objets clients passent l'instanceof RedisClient
tester et ne pas être réinitialisé sans mot de passe. Apparemment, lorsque RedisStore
re-nécessite le module redis, les clients redis créés avec le createClient
sont membres d'une nouvelle classe ou quelque chose comme ça.
J'ai compris cela en regardant un problème connexe que quelqu'un avait sur le problème #808 de socket.io.