node.js - 无法连接到远程 redis 主机 [nodeJS]

const redis = require('redis');
require('dotenv').config();
console.log(process.env.redisHost, ':', process.env.redisPort);
const redisClient = redis.createClient({
    host: process.env.redisHost,
    port: process.env.redisPort,
    password: process.env.redisKey
});
redisClient.connect();
redisClient.on('error', err => console.log('Redis error: ', err.message));
redisClient.on('connect', () => console.log('Connected to redis server'));
module.exports = redisClient;

我从 redis 文档中尝试了这个示例,但我仍然收到一条错误消息: Redis 错误:连接 ECONNREFUSED 127.0.0.1:6379

我将环境主机和端口变量记录到控制台,并获得了远程主机的 ipv4 地址,但客户端仍在尝试连接到本地主机而不是远程主机(我故意从本地设备卸载 redis 以检查是否客户端正在按预期工作)。我还确认远程 redis 主机工作正常。

我也尝试了不同的方法,比如: https://cloud.google.com/community/tutorials/nodejs-redis-on-appengine

redis.createClient(port, host, {auth_pass: password});

但是,我还是遇到了同样的错误。

我可以通过命令行连接到 redis 主机:

redis-cli.exe -h XX.XX.XX.XXX -a Password
XX.XX.XX.XXX:6379> set name dhruv
OK
XX.XX.XX.XXX:6379> get name
"dhruv"
XX.XX.XX.XXX:6379> exit

我是第一次尝试在 nodejs 上使用 redis,所以没有正确的想法,但我认为我做的一切都是对的。 任何解决方案/解决方法都会有所帮助:D

最佳答案

它适用于这段代码:

const url = `redis://${process.env.redisHost}:${process.env.redisPort}`;
const redisClient = redis.createClient({
    url,
    password: process.env.redisKey
});
redisClient.connect();

https://stackoverflow.com/questions/70274342/

相关文章:

amazon-web-services - Docker 推送错误保存凭据 : error stor

javascript - 集群两个对象数组javascript

php - 为什么php artisan make :factory not Generating

python - 如何将文本文件转换为json文件?

java - 当我们调用 function(2) 时,为什么这个函数返回 83 而不是 5?

phpunit - 在 php 8.1.0 上使用 phpunit 9.4 捕获警告、通知和弃用

android-jetpack-compose - Jetpack 撰写 Justified 和 R

javascript - 如何使用顺风向表格添加间距

graphql - 为什么 graphcms graphql 给我一个 403 错误?

rust - 在 ".map(|x| *x)"之前是否有更好的 ".collect()"替代品?