Nodejs中的connect-redis

时间:2014-12-12 08:47:57

标签: node.js session redis

我的nodejs应用程序中使用了nodejs / express / redis / express-session(快速4.x)

redis初始化由引擎盖下的connect-redis / session框架完成。到目前为止它的作用。现在我需要使用redis来存储除会话之外的其他数据,并且世界喜欢拥有除会话存储之外的新存储。它只是一家商店吗?

如果只有一个商店可以使用由connect-redis / 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
}));

2 个答案:

答案 0 :(得分:0)

您实际上想要为其他任何事情初始化新客户端,因为会话库正在处理它自己的客户端。

您应该最有可能导入redis库本身,创建自己的客户端,并将其用于将来的所有请求/等。

答案 1 :(得分:0)

当我在上面的代码之后放下以下代码时,我收到了错误 " myRedis错误 - >错误:Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED"。似乎不允许初始化新的Redis实例。

那么有没有办法从connect-redis获得新客户端?

var myRedis = require('redis');                           // additional redis store
var myRedisCli = myRedis.createClient();

myRedisCli.on('error', function (err) {
  console.log('myRedis Error-> '  + err);
});