使用 kue 连接到 redis 总是会创建到 localhost 的连接

Posted

技术标签:

【中文标题】使用 kue 连接到 redis 总是会创建到 localhost 的连接【英文标题】:Connecting to redis using kue always creates a connection to localhost 【发布时间】:2015-03-26 10:38:07 【问题描述】:

我无法使用 kue 连接到 Redis,我已经关注了这个article,实际上我正在使用 kue redis 客户端创建连接,连接代码是这样的:

  var kue = require('kue'),
  redis = require('kue/node_modules/redis');

  app.redisClient =  redis.createClient('6379', 'remoteip',);
  app.redisClient.on('error', function (err) 
      console.log('Redis error encountered', err);
  );

  app.redisClient.on('end', function() 
      console.log('Redis connection closed');
   );

   kue.redis.createClient = function() 
      console.log('client ------------------',app.redisClient);
      return app.redisClient;
   ;

似乎 Kue 正在尝试连接到本地 Redis(我没有安装),因为我遇到了这个异常:

错误:Redis 连接到 127.0.0.1:6379 失败 - 连接 被拒绝

我已阅读此post,似乎问题已在 0.8 版中得到解决,我正在使用 0.8.11 :/,最后我还想通过使用 @ 来使用不同的客户端实例覆盖客户端987654323@ 没有任何运气,因为我遇到了同样的错误。

任何帮助将不胜感激。 谢谢!

【问题讨论】:

【参考方案1】:

我使用了一种不同的方式来设置连接,到目前为止,这就是我所做的:

app.redisClient =  redis.createClient(config.redisPort, config.redisUrl,);

app.redisClient.on('connect', function () 
    console.info('successful connection to redis server');
);

app.redisClient.on('error', function (err) 
    console.log('Redis error encountered', err);
);

app.redisClient.on('end', function() 
    console.log('Redis connection closed');
);

kue.app.listen(config.kuePort);

app.jobs = kue.createQueue(
    redis: 
        createClientFactory: function()
            return app.redisClient;
        
    
);

【讨论】:

以上是关于使用 kue 连接到 redis 总是会创建到 localhost 的连接的主要内容,如果未能解决你的问题,请参考以下文章

Kue 崩溃解析服务器

(在localhost上连接到Redis时出错:6379(Errno :: ECONNREFUSED)):

Node.js Kue 如何重启失败的作业

如何在不同端口上的单个服务器上运行 redis?

使用(客户端)javascript 直接连接到 Redis?

如何连接到远程 Redis 服务器?