将现有应用调整为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设置吗?
由于
答案 0 :(得分:0)
好的,我只是迷失在文档中。很难跟踪express-session,redis,connect-redis并完全记住所有内容之间的区别。
简单的解决方案是:
var redis = require(' redis')。createClient( port,host,auth );
现在它有效。我相信我能够使用.createClient();当redis服务器在本地托管时,现在我们已经转移到专用的redis服务器 - 这些属性是必需的。
谢谢,希望这有助于其他人!