redis保存会话和其他数据

如何使用redis来存储会话和其他数据?

我得到错误“myRedis错误 – >错误:Redis连接到127.0.0.1:6379失败 – 连接ECONNREFUSED”。 没有myRedis部分,express / session / redis运行良好。

var express = require('express'); var session = require('express-session'); // pass the express to the connect redis module // allowing it to inherit from session.Store var RedisStore = require('connect-redis')(session); .... // Populates req.session app.use(session({ resave: false, // don't save session if unmodified saveUninitialized: false, // don't create session until something stored secret: 'keyboard cat', store: new RedisStore })); // needed for saving new data var myRedis = require('redis'); // additional redis store var myRedisCli = myRedis.createClient(); myRedisCli.on('error', function (err) { console.log('myRedis Error-> ' + err); }); 

有没有办法使用connect-redis的redis客户端? 但是看起来它与会话紧密相连。

我无法find有关这种情况的信息。 希望有人能帮忙,谢谢!

查看connect-redis代码后,我终于发现现有的redis客户端可以传递给它。 文件提到了这一点,但没有举例。

以下代码作品。 首先创build一个正常的redis客户端,然后传递给会话。

 var express = require('express'); var session = require('express-session'); var _myRedis = require('redis'); // additional redis store var myRedisCli = _myRedis.createClient(); // pass the express to the connect redis module // allowing it to inherit from session.Store var RedisStore = require('connect-redis')(session); ... app.use(session({ resave: false, // don't save session if unmodified saveUninitialized: false, // don't create session until something stored secret: SESSION_SECRET, store: new RedisStore({client: myRedisCli}) }));