首页 文章

Redis错误:错误:Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED 127.0.0.1:6379

提问于
浏览
0

当我检查我的redis-server状态时,它表示redis服务器正在运行,但是当我记录RedisClient.on时出现此错误('error',function(err){console.log('Redis error:'err); // Redis错误:错误:Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED 127.0.0.1:6379});当我尝试控制req.session时,它返回undefined . 关于这个问题的任何线索?请帮助我,我是新手 . 谢谢

继承我的设置:

var express = require('express');
var redis = require("redis");
var session = require('express-session');
var redisStore = require('connect-redis')(session);
var parser = require('body-parser');
var RedisClient= redis.createClient();

app.use(session({
secret: 'myseceret',
store: new redisStore({host: '127.0.0.1', port: 6379, client: client,ttl : 260}),
saveUninitialized: false,
resave: false,
cookie: { secure: true }
}));
client.on('error', function(err) {
console.log('Redis error: ' + err);
});

1 回答

  • 0

    您已在redisStore的选项中一起提供了互斥参数 . 您可以传递主机和端口,也可以只传递现有的redis客户端 .

    引用connect-redis docs -

    需要Redis客户端 . 可以使用客户端参数直接传递现有客户端,也可以使用主机,端口或套接字参数为您创建

    还有一些参考错误,我在这个片段中已经纠正过 .

    var express = require('express');
    var redis = require("redis");
    var session = require('express-session');
    var redisStore = require('connect-redis')(session);
    var parser = require('body-parser');
    var RedisClient= redis.createClient();
    
    var app = express();
    
    app.use(session({
        secret: 'mysecret',
        store: new redisStore({client: RedisClient,ttl : 260}),
        saveUninitialized: false,
        resave: false,
        cookie: { secure: true }
    }));
    
    RedisClient.on('error', function(err) {
        console.log('Redis error: ' + err);
    });
    
    RedisClient.on("ready",function () {
        console.log("Redis is ready");
    });
    

相关问题