You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Redis Cloud免费云实例连接到Bull队列并解决连接报错

Redis云实例连接Bull队列失败解决方案

你首次配置直接传入空字符串作为redis参数,Bull会默认连接本地127.0.0.1的6379端口,因此直接抛出ECONNREFUSED错误。第二次配置缺少必填的认证参数,且host、port未赋值,因此依然连接失败。

你需要补充以下配置:

  • 从云Redis实例控制台复制准确的公网host、端口参数,云Redis默认不会使用6379端口,注意不要填默认值
  • 新增password字段传入实例认证密码,所有云Redis实例默认开启密码校验,缺少该字段会直接被服务端拒绝连接
  • 若你的实例指定了非0的数据库编号,补充db字段传入对应编号

正确配置示例

const Bull = require("bull");
const emailQueue = new Bull("email", {
   redis: {
     port: 替换为你的云Redis端口号,
     host: "替换为你的云Redis公网host地址",
     password: "替换为你的云Redis实例密码",
     db: 0, // 按需修改为你的数据库编号,无特殊配置默认填0
     tls: { rejectUnauthorized: false },
   },
});

排查技巧

  • 确保代码中填写的所有连接参数和Redis Insight中使用的参数完全一致,优先从控制台复制参数,避免手动输入拼写错误
  • 若配置后仍连接失败,可先用ioredis单独测试连接,排除Bull本身的问题,测试代码如下:
const Redis = require('ioredis');
const redis = new Redis({
  port: 替换为你的云Redis端口号,
  host: "替换为你的云Redis公网host地址",
  password: "替换为你的云Redis实例密码",
  tls: { rejectUnauthorized: false },
});
redis.ping().then(res => console.log('连接成功', res)).catch(err => console.error('连接失败', err));
  • 检查运行Node.js应用的环境是否有防火墙、安全组规则限制,是否允许对外访问云Redis的对应端口

内容的提问来源于stack exchange,提问作者aryat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:54:06