在AWS中,我使用ElastiCache Redis服务器,并使用node作为backEnd和"promise redis";包装
这就是我尝试连接到redis服务器端点的方法
client = redis.createClient({
host: '**my redis primary endpoint**',
port: 6379
});
这工作了一段时间,但在添加了一些与redis无关的代码行后,它给了我这个错误
error: connect ECONNREFUSED 127.0.0.1:6379
它似乎试图连接到本地服务器,却忽略了我给他的主机端点
当我将端口更改为任何数字时,如6300
它给出了相同的错误,默认端口号太
error: connect ECONNREFUSED 127.0.0.1:6379
我很困惑,请帮帮我!!!!
这些"天才;更改了他们库中的连接这样一件重要的事情,甚至没有对此发出很好的警告。我已经对这样一个事实保持沉默,即当你在一百万个项目中的库已经编码时,做出这样的更改是犯罪行为。现在你需要这样连接:
const client = redis.createClient({
socket: {
host,
port
},
password
});
我建议您切换到ioredis库,有一个旧的api,只有客户端是通过新的Redis({old-config}(创建的
因为在这个旧库("redis"(中,出于某种原因,他们现在需要异步连接((来实现某些功能,而没有真正解释为什么、何时需要以及何时不需要。一半的代码对我有效,另一半则无效。所以,更好地使用这个:
let Redis = require('ioredis');
const client = new Redis({
host: '***',
port: ****,
password: '****'
});
确保主机密钥没有协议部分"http://";
client = redis.createClient({
host: '192.168.45.34', // don't use host: 'http://192.168.45.34'
port: 6379
});
如果您在主机密钥中包含该协议,redis客户端默认使用localhost-127.0.0.1