我有一个express
服务器,我使用connect-redis
和express-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));
答案 0 :(得分:3)
您的代码似乎是正确的,请确保在没有主机名和端口的情况下在其他任何地方都没有调用createClient()
。
另外,如果您的redis
需要密码,请确保您也提供了密码。