调整现有应用程序到Express 4.4.x
尝试使用以下代码实现redis会话存储:
var express = require('express');
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var redis = require('redis').createClient();
app.use(session({
store: new RedisStore({
host: '1.1.1.1',
port: 1234,
prefix: 'yourprefix:',
client: redis
}),
secret: '.......',
resave: true,
saveUninitialized: true
}));
然而,当我运行这个没有键存储在redis,我不能调用req.session。我确信这是一些非常简单的东西,我错过了或者包含了一些限制它的代码。也可能是redis设置?
谢谢
好吧,我只是在文档中迷失了。很难跟踪express-session, redis, connect-redis,并完全记住它们之间的区别。
简单的解决方案是:
var redis = require('redis')。create (port, host, auth);
现在它工作了。我相信我能够使用。createclient ();当redis服务器是本地托管时,但是现在我们已经转移到一个专用的redis服务器-这些属性是必需的。
谢谢,希望这能帮助到其他人!