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