我的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
}));
答案 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);
});