有人能解决这个问题吗?我是node.js和redis的初学者。
函数createClient()
可以接受2个参数:端口和主机。但是我仍然被这个问题困扰着。
var client = redis.createClient();
client.on('connect', function(){
console.log('Redis client connected');
});
错误:Redis连接到127.0.0.1:6379失败-连接ECONNREFUSED 127.0.0.1:6379 C:\Users\my-pc\Desktop\FINAL〉节点索引事件。js:187抛出er;//未处理的"error"事件^
错误:Redis连接到www.example.com失败-连接ECONNREFUSED 127.0.0.1:6379127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
在TCPConnectWrap. afterConnect [as oncomplete](net. js:1128:14)在以下位置的RedisClient示例上发出了"错误"事件:在RedisClient上。在套接字上的错误(C:\用户\我的电脑\桌面\最终\节点_模块\redis\index. js:406:14)。在套接字上的错误(C:\用户\我的电脑\桌面\最终\节点_模块\redis\index. js:279:14)。在套接字上的错误(C:\用户\我的电脑\桌面\最终\节点_模块\redis\index. js:279:14)。在事件. js:210:5。在事件. js:210:5。在事件. js:210:210。"拒绝连接",
代码:'ECONNREFUSED',系统调用:"连接",地址:'127.0.0.1',
端口:6379}
4条答案
按热度按时间vxqlmq5t1#
这是一个非常常见但简单的问题,每当我也开始与docker多个本地容器。
你看,你已经创建了一个节点应用程序和一个redis服务器,但是两者是分开的,你没有在它们之间建立任何通信,这就是为什么你会面临这种类型的问题。
现在,首先你需要在node app和redis-server之间建立一个连接,这样它们就可以在这两个应用之间通信了。
要做到这一点,只需简单地按照指示,希望这将解决您的问题。
步骤-1:对于在多个本地容器之间建立连接,您有两种选择,
坞站-组合:Compose是一个用于定义和运行多容器Docker应用程序的工具。
步骤2:在您的项目目录中创建一个docker-compose. yml文件,命名为"docker-compose. yml"
步骤3:在你的"docker-compose.yml"文件中写入以下代码:
步骤4:在redis.createClient()函数中,只需在index.js文件中传递主机和端口参数
步骤5:从docker-compose CLI使用docker-compose构建并运行您的docker容器
步骤-6:最后,打开浏览器,点击以下URL:
rxztt3cl2#
仅供参考(我浪费了今晚的时间)
这不起作用(它默认连接到localhost:6379,无论你在url中输入什么):
但这个确实有效
希望我节省了你的时间。
y4ekin9u3#
根据错误代码“ECONNREFUSED”,在尝试连接客户端之前,您是否确定您实际上正在本地主机和端口6379上运行redis服务器?
zzwlnbp84#
当我在nodejs上开始使用Redis时,我也遇到过类似的问题。
问题是redis服务器连接还没有建立,但是你仍然在使用你的连接,你可以使用async并等待直到你的连接建立。
您可以使用以下代码:
变量客户端= redis.创建客户端();
我希望你的问题得到解决。如果没有,你可以回到这个线程