connect-redis连接到localhost,与提供的主机无关

时间:2017-09-28 16:06:08

标签: javascript redis node-redis express-session

我有一个express服务器,我使用connect-redisexpress-session将会话存储到我的elasticache实例。但是app只尝试连接到localhost。 这是错误: -

config.redisServer.host dev-xxx-site-cache.xxxxx.0001.use1.cache.amazonaws.com
listening on {"address":"::","family":"IPv6","port":8080}...
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
    at Object.exports._errnoException (util.js:856:11)
    at exports._exceptionWithHostPort (util.js:879:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14)

在代码中我提供了正确的主机: -

const RedisStore = require('connect-redis')(expressSession);
const redisClient = redis.createClient({ host: config.redisServer.host, port: config.redisServer.port });
redisClient.on('error', err => console.error(err));

1 个答案:

答案 0 :(得分:3)

您的代码似乎是正确的,请确保在没有主机名和端口的情况下在其他任何地方都没有调用createClient()

另外,如果您的redis需要密码,请确保您也提供了密码。