首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodeJS前哨连接从Redis超时

nodeJS前哨连接从Redis超时
EN

Stack Overflow用户
提问于 2021-06-22 01:31:05
回答 2查看 339关注 0票数 0

我正在尝试使用ioredisnodeJS连接redis sentinel实例。我不能连接redis前哨实例,尽管尝试了多种可用选项。我们尚未配置前哨密码。但是,可以使用StackExchange.Redis.net core连接相同的redis前哨实例。请找到下面的nodeJS代码,

代码语言:javascript
复制
import { AppModule } from './app.module';
import IORedis from 'ioredis';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  const ioredis = new IORedis({
    sentinels: [
      { host: 'sentinel-host-1' },
      { host: 'sentinel-host-2' },
      { host: 'sentinel-host-3' },
    ],
    name: 'mastername',
    password: 'password',
    showFriendlyErrorStack: true,
  });
  try {
    ioredis.set('foo', 'bar');
  } catch (exception) {
    console.log(exception);
  }
  await app.listen(3000);
}
bootstrap();

我们得到的错误是,

代码语言:javascript
复制
[ioredis] Unhandled error event: Error: connect ETIMEDOUT
node_modules\ioredis\built\redis\index.js:317:37)
    at Object.onceWrapper (node:events:475:28)
    at Socket.emit (node:events:369:20)
    at Socket._onTimeout (node:net:481:8)
    at listOnTimeout (node:internal/timers:557:17)
    at processTimers (node:internal/timers:500:7)

.net core中使用的连接字符串如下:

代码语言:javascript
复制
Redis_Configuration = "host-1,host-2,host-3,serviceName=mastername,password=password,abortConnect=False,connectTimeout=1000,responseTimeout=1000";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-14 12:05:37

为了其他人的利益回答这个问题。一切都很好,但是这个nodeJS包正在将redis实例解析成我无法从本地访问的内网i。因此,必须将其放在子网组上并使其正常工作。但是,仅供参考的.net core包不能解析为内网i,因此我可以从本地访问实例。

票数 1
EN

Stack Overflow用户

发布于 2021-06-23 04:37:47

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68072309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档