在 Node 中迁移到 Redis 4.x 时出现问题
Problems with migrating to Redis 4.x in Node
我正在尝试将我的 google 云应用程序引擎从 Redis 3.x 迁移到 4.x。但是,似乎 Redis 4.x 发生了一些重大变化。客户端似乎不再自动连接,并且语法发生了一些变化。这是我的 运行
'use strict';
import {createClient} from 'redis';
// These are just values stored in environment variables.
const REDISHOST = process.env.REDIHOST;
const REDISPORT = process.env.REDIPORT;
const REDISAUTH = process.env.REDISAUTH;
const redisClient.createClient();
redisClient.host = REDISHOST;
redisClient.port = REDISPORT;
redisclient.auth = REDISAUTH;
redisClient.on('error', (err) => console.error(`##### REDIS ERR: ${err}.`));
await redisClient.connect();
我可以看出在 redisClient 中设置了主机、端口和身份验证,但是当我连接时,它尝试连接到本地主机但失败了。知道我在这里缺少什么吗?
您需要在调用中传递连接信息 createClient()
:
const redisClient = createClient({
socket: {
host: REDISHOST,
port: REDISPORT
},
password: REDISAUTH
})
有很多连接选项。它们都在 client configuration guide.
中有详细说明
我正在尝试将我的 google 云应用程序引擎从 Redis 3.x 迁移到 4.x。但是,似乎 Redis 4.x 发生了一些重大变化。客户端似乎不再自动连接,并且语法发生了一些变化。这是我的 运行
'use strict';
import {createClient} from 'redis';
// These are just values stored in environment variables.
const REDISHOST = process.env.REDIHOST;
const REDISPORT = process.env.REDIPORT;
const REDISAUTH = process.env.REDISAUTH;
const redisClient.createClient();
redisClient.host = REDISHOST;
redisClient.port = REDISPORT;
redisclient.auth = REDISAUTH;
redisClient.on('error', (err) => console.error(`##### REDIS ERR: ${err}.`));
await redisClient.connect();
我可以看出在 redisClient 中设置了主机、端口和身份验证,但是当我连接时,它尝试连接到本地主机但失败了。知道我在这里缺少什么吗?
您需要在调用中传递连接信息 createClient()
:
const redisClient = createClient({
socket: {
host: REDISHOST,
port: REDISPORT
},
password: REDISAUTH
})
有很多连接选项。它们都在 client configuration guide.
中有详细说明