Express和Redis会话无法在浏览器关闭后继续存在

ang*_*244 3 session session-cookies redis node.js express

我正在尝试使用RedisStore来使用持久会话,但每当我关闭浏览器时会破坏会话.我尝试设置maxAge和ttl但没有任何东西使得会话在浏览器重启后仍然存在.我究竟做错了什么?

我的代码的相关部分是:

var app = express();
var RedisStore = require('connect-redis')(express);

app.use(express.cookieParser('my secret key'));
  app.use(express.session({
  store: new RedisStore({
    host: 'localhost',
    port: 6379,
    ttl: (60000 * 24 * 30),
    cookie: { maxAge: (60000 * 24 * 30) }
  }),
  secret: 'my secret key'
}));
Run Code Online (Sandbox Code Playgroud)

can*_*der 8

cookie应该属于您传递给express.session的对象,而不是您传递给RedisStore的对象.

请尝试以下方法:

app.use(express.session({
  store: new RedisStore({ host: 'localhost', port: 6379, ttl: (60000 * 24 * 30)}),
  cookie: { maxAge: (60000 * 24 * 30)},
  secret: 'my secret key'
}));
Run Code Online (Sandbox Code Playgroud)