gpt4 book ai didi

Node.js 使用 Redis 存储保存 session

转载 作者:可可西里 更新时间:2023-11-01 11:33:40 25 4
gpt4 key购买 nike

我在使用最新版本的 Express、Node.js 处理 session 时遇到问题。我的要求是将用户电子邮件 ID 存储在/login 路由中,并且需要考虑该电子邮件 ID所有路线都像/home。但是我当前的代码没有在/home 路由中打印电子邮件 ID。非常感谢您的帮助。

我的演示代码在这里

var express = require('express');
var app = express();
var cookieParser = require('cookie-parser');
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
app.set('port',process.env.PORT || 3000);
app.use(cookieParser());
app.use(session({
resave: false,
saveUninitialized: false,
store: new RedisStore({
host: 'localhost',
port: 6379
}),
secret: 'some string/hash secret'
}));


var counter=0;
app.get('/login', function(request, response){
//adding some value to request.session
request.session.email = 'jak@amt.in';
console.log('sessionID', request.sessionID)
response.send('email: '+request.session.email);

});
app.get('/home', function (request, response) {
console.log('home login', request.session.email); // Email not priting here
console.log('sessionID - home', request.sessionID); // Session ID is showing
response.send('home');
});

if (!module.parent) {
console.info('Listening ', process.env.PORT || 5000);
app.listen(process.env.PORT || 5000);
}
module.exports = app;

出现以下错误

"ReplyError: ERR wrong number of arguments for 'set' command
at parseError (/home/dibeesh/obpnode6/testproject/node_modules/redis/node_modules/redis-parser/lib/parser.js:161:12)
at parseType (/home/dibeesh/obpnode6/testproject/node_modules/redis/node_modules/redis-parser/lib/parser.js:222:14)"

最佳答案

确保您的 redis 服务器 在您运行您的应用时正在运行。

关于Node.js 使用 Redis 存储保存 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38159651/

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