Redis无法连接到环境变量端口。

3

我正在尝试创建一个Redis客户端。但是每当我执行以下操作时:

const REDIS_PORT = process.env.PORT || 6379;

const client = redis.createClient(REDIS_PORT);

我遇到了 AbortError: Ready check failed: Fatal error encountered. Command aborted. It might have been processed.

但如果我尝试:

const REDIS_PORT = 6379;
    
const client = redis.createClient(REDIS_PORT);

连接已经成功。为什么我在使用process.env.PORT时会出现这个错误?


你正在使用Node.js吗? - roottraveller
是的,我正在使用Node.js。 - user
这个回答解决了你的问题吗?NodeJs - 使用redis,connect-redis和express - roottraveller
你没有说明它是独立的还是集群的?你确切地使用哪个客户端?https://redis.io/clients#nodejs - roottraveller
这是一个独立的程序,我正在使用node_redis。除了包含process.env.PORT时,其他所有功能都正常工作,有什么原因吗? - user
1
process.env.PORT || 6379 这段代码的意思是:如果在环境变量中有PORT,则使用该端口,否则默认使用6379端口。你可以将其传递给app.listenapp.set('port', ...),这样你的服务器就能够从环境中获取“监听哪个端口”的参数。 - roottraveller
1个回答

0

将所需的值分配给端口键,使用此代码创建客户端

redis.createClient({port : REDIS_PORT})

你可以查看文档
const redis = require('redis');
const client = redis.createClient({
    host: '127.0.0.1',
    port: <port>
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接