connect-redis client.unref 不是函数

connect-redis client.unref is not a function

我正在节点中使用 express-session 设置 redis。

我收到这个错误:

if (options.unref) this.client.unref();
this.client.unref is not a function

此错误指向我 node_modules 中的 redis-connect 库。

这是我在节点中的基本代码:

var express = require('express');
var session = require('express-session');
var redis = require('redis');
var redisStore = require('connect-redis')(session);

然后,

var client = redis.createClient();
var sessionStore = new redisStore(client);

app.use(session({
  store: sessionStore,
  secret: 'a stringy string thing',
}))

如何解决该错误? 谢谢!

Redis store实例的正确创建方式:

var sessionStore = new redisStore({ client : client });

换句话说,redisStore 需要一个选项对象作为参数传递,而不是直接传递 Redis 客户端实例。