0

似乎无法弄清楚如何使用 redis 存储与 Express 4 进行会话,一些示例代码如下所示:

var express       = require('express');
var app           = express();
var cookieParser  = require('cookie-parser');
var bodyParser    = require('body-parser');
var session       = require('express-session');
var RedisStore    = require('connect-redis')(session);

app.use(cookieParser());
app.use(session({
    store: new RedisStore({
        host: 'localhost',
        port: 6379,
    }),
    secret: 'secret',
    resave: false,
    saveUninitialized: true
}));
app.get('/', function (req, res) {
    console.log(req.session); // undefined! :(
});
app.listen(3000);

如您所见,上面的 req.session 似乎总是未定义,并且显然无法在其中存储任何变量...

4

2 回答 2

0

看起来你忘了启动 redis。尝试service redis-server start 在您的服务器 cli 上键入。希望它会有所帮助:)

于 2017-02-27T12:24:40.343 回答
0

当然,最令人沮丧的问题有最简单的答案...... Redis 客户端从未安装过。未来任何人的链接 - http://redis.io/topics/quickstart :facepalm:

于 2016-01-03T21:47:39.490 回答