gpt4 book ai didi

node.js - Nodejs Redis createClient() 函数

转载 作者:行者123 更新时间:2023-12-02 12:37:11 28 4
gpt4 key购买 nike

谁能解决这个问题?我是 node.js 和 redis 初学者。

函数 createClient() 可以接受 2 个参数:端口和主机。但我仍然被这个问题所困扰。

var client = redis.createClient(); 

client.on('connect', function(){
console.log('Redis client connected');
});

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 C:\Users\my-pc\Desktop\FINAL>node index events.js:187 throw er; // Unhandled 'error' event ^

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1128:14) Emitted 'error' event on RedisClient instance at: at RedisClient.on_error (C:\Users\my-pc\Desktop\FINAL\node_modules\redis\index.js:406:14) at Socket. (C:\Users\my-pc\Desktop\FINAL\node_modules\redis\index.js:279:14) at Socket.emit (events.js:210:5) at emitErrorNT (internal/streams/destroy.js:92:8) at emitErrorAndCloseNT (internal/streams/destroy.js:60:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) { errno: 'ECONNREFUSED',
code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1',
port: 6379 }

最佳答案

每当我也开始使用 docker 多个本地容器时,这是一个非常常见但简单的问题。

你看,你已经创建了一个 Node 应用程序和一个 redis 服务器,但两者是分开的,你没有在它们之间建立任何通信,这就是你面临此类问题的原因。

现在,首先您必须在 Node 应用程序和 redis-server 之间建立连接,以便它们之间可以进行通信。

为此,只需按照说明操作即可,希望这能解决您的问题。

第 1 步:要在多个本地容器之间建立连接,您有两种选择,

* Use docker CLI's networking features.
* Or, simply use docker-compose to solve the issue, i prefer docker-compose and i will show how to do this using docker-compose.

Docker-compose:Compose 是一个用于定义和运行多容器 docker 应用程序的工具。 Overview of docker-compose

第二步:在你的项目目录下创建一个docker-compose .yml文件,命名为“docker-compose.yml”

第 3 步:在“docker-compose.yml”文件中写入以下代码:

version: "2.0"
services:
redis-server:
image: "redis"
node-app:
build: .
ports:
- "8080:8080"

第 4 步:在您的 redis.createClient() 函数中,只需在 index.js 文件中传递您的主机和端口参数

const client = redis.createClient({
host: "redis-server",
port: 6379
});

第 5 步:使用 docker-compose CLI 中的 docker-compose 构建并运行您的 docker 容器

docker-compose up --build

第 6 步:最后,打开浏览器并点击以下 URL:

localhost:8080

关于node.js - Nodejs Redis createClient() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58854488/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com