使用kue连接到redis始终会创建与localhost的连接

时间:2015-01-27 17:52:16

标签: node.js redis node-redis kue

我无法使用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失败 - 连接   ECONNREFUSED

我已经阅读了这个post,似乎问题已在版本0.8中得到解决,而且我使用的是0.8.11:/,最后我还想使用a覆盖客户端使用redis nodejs没有任何运气的不同客户端实例,因为我得到了相同的错误。

任何帮助都将得到更多的赞赏。 谢谢!

1 个答案:

答案 0 :(得分: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;
        }
    }
});