typescript - ioredis:如何在与默认 6379 端口不同的端口上运行 Redis 服务器?
问题描述
我看过这个问题:How to start redis-server on a different port than the default port 6379 in ubuntu
我试图ioredis
在我的NestJS
项目中做到这一点,但它拒绝连接到 6379 以外的任何其他端口。我'没有运行任何单独的 Redis 服务器,我将其留给ioredis
. 只是我想为测试目的运行一个单独的实例,该实例不在端口 6379 上运行。
以下代码运行没有错误:
const redis = new Redis();
const redis = new Redis('localhost');
const redis = new Redis(6379);
我可以做我需要做的一切。
但是,此代码:
const redis = new Redis(6380);
const redis = new Redis(6380, 'localhost');
给我以下错误:
[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6380
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
我必须使用不同的ioredis
实例化选项吗?或者可能是 NestJS 的东西?因为我知道 NestJS 在 Redis 上有一个页面:https ://docs.nestjs.com/microservices/redis ,但他们也指定了端口 6379。为什么我似乎无法让ioredis
API 文档中的基本示例正常工作?
解决方案
似乎已经有一个 redis docker 实例在 :::6379 上的本地网络上运行,占用了任何地址的端口号,在我不知道的情况下......这对这个问题来说是一个非常尴尬的答案,但问题是反正错了,为什么不坚持下去。
ioredis
不会为您启动服务器,它只是一个客户端。既然我的测试成功了,我以为ioredis
也启动了一个服务器,但这完全是一个巨大的误解。
推荐阅读
- mysql - 在mysql中为group by语句选择不同的参数?
- reactjs - 如何防止组件过早消失?
- kotlin - 类型不匹配 Kotlin 和 getStringArrayListExtra
- javascript - Webpack - 多个入口点,需要它们之间的捆绑包
- ios - Swift 5:在显示的时间更改时区
- c# - 需要将两个 lambda 表达式合二为一来执行一个参数的两个单独条件
- javascript - 错误与triggerWord 和 Javascript
- visual-studio - 在 Visual Studio Pro 2019 的参数中传递空格
- python - 在 Pandas 中过滤期间返回的 KeyError
- python - 当我有多个 .py 文件一起工作时,如何将 python 项目转换为可执行文件?