fyeah
fyeah

Reputation: 59

Redis error: Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

When I checked my redis-server status , it says redis server is running but I got this error when I log RedisClient.on('error', function(err) { console.log('Redis error: ' + err);// Redis error: Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 }); and when I try to console the req.session it returns undefined. any clue about this issue? please help me I am new to this. thank you

heres my setup:

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);
});

Upvotes: 2

Views: 14133

Answers (1)

Tabish Rizvi
Tabish Rizvi

Reputation: 367

You have provided mutually exclusive parameters together in options for redisStore. You either pass the host and port or just existing redis client.

Quoting connect-redis docs -

A Redis client is required. An existing client can be passed directly using the client param or created for you using the host, port, or socket params

Also there were some reference errors which I have corrected in this snippet.

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");
});

Upvotes: 1

Related Questions