我通过将redis模块本身作为选项传递给RedisStore构造函数来解决此问题。
io.set('store', new RedisStore({redis: redis, redisPub: redisClient, redisSub: redisSubscriber, redisClient: redisClient }));这对于客户端对象通过
instanceofRedisClient测试是必要的,并且没有密码就不能重新初始化。显然,当
RedisStore重新需要redis模块时,使用该
createClient方法创建的redis客户端是某个新类或某些类的成员。
我通过查看某人在socket.io的问题#808上遇到的一个相关问题来弄清这一点。



