使用Redis进行会话存储似乎不起作用

时间:2014-08-20 02:21:56

标签: node.js session express redis

将现有应用调整为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设置吗?

由于

1 个答案:

答案 0 :(得分:0)

好的,我只是迷失在文档中。很难跟踪express-session,redis,connect-redis并完全记住所有内容之间的区别。

简单的解决方案是:

  

var redis = require(' redis')。createClient( port,host,auth );

现在它有效。我相信我能够使用.createClient();当redis服务器在本地托管时,现在我们已经转移到专用的redis服务器 - 这些属性是必需的。

谢谢,希望这有助于其他人!

相关问题