gpt4 book ai didi

node.js - 为什么node express req.session随着redis消失了?

转载 作者:可可西里 更新时间:2023-11-01 11:22:21 24 4
gpt4 key购买 nike

Node.js express session 使用这段代码非常适合我:

var express = require("express");
var app = express();
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
cookie: {maxAge: pembapp.dayInMilliseconds * 180},
secret: 'mysecret',
key: 'mykey'
}));

我可以毫无问题地访问 req.session.whatever。

现在我想用redis来存储session数据,以防服务器重启,所以代码变成了这样:

var express = require("express");
var app = express();
var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
cookie: {maxAge: pembapp.dayInMilliseconds * 180},
secret: 'mysecret',
key: 'mykey',
store: new RedisStore({
host: 'localhost',
port: 6379,
db: 2,
prefix: 'myprefix',
pass: 'mypasswd'
})
}));

当我添加 redis 代码时,req.session 现在未定义!我这辈子都想不通。为什么当我为 session 添加 redis 存储时 req.sesion 会“消失”???

最佳答案

我想我们可以结束这个了。也许当 req.session 未定义时我没有连接到 redis。我确实发现我需要在使用 redis 时显式调用 req.session.save(),而没有 redis 则不需要。

从我在那里看到的问题来看,如果有人可以使用 redis-connect 为持久 session 创建一个清晰的 node.js 示例,对于 Node 新手,从头开始,我想你会成为一群人很开心。

关于node.js - 为什么node express req.session随着redis消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19733731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com