Redis群集和节点ioredis:连接到远程redis群集以进行开发

时间:2016-10-28 01:27:40

标签: node.js redis redis-cluster ioredis

我无法让我的应用在本地连接到远程redis群集。使用单个节点/连接非常简单:

ssh -f -N -L6379:localhost:6379 user@{{ remote_ip }}

然后redis可以通过本地端口6379直接连接。

但是这对多节点群集设置不起作用。我尝试使用上面的代码行为每个节点6379, 6380, 6381, etc.转发每个端口,但是无法建立集群连接。我假设这是因为群集节点配置必须指向远程服务器的实际专用IP,因此我的本地端口无法连接在一起。

这就是我与redis的关联方式:

var Redis = require('ioredis');

var host = ENV.MARKET_REDIS_HOST;
var ports = [ 0, 1, 2 ];
var nodes = [];

ports.forEach((port)=>{
     nodes.push({
         port: 6379 + port,
         host: ENV.MARKET_REDIS_HOST,
     });
});

var ms_redis = new Redis.Cluster(nodes);

ENV.MARKET_REDIS_HOST设置为dev中的localhost(不起作用),并设置为prod中的实际私有ip(可行)

0 个答案:

没有答案