Я пытаюсь перенести свой движок облачного приложения 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
})
Вариантов подключения очень много. Все они подробно описаны в руководство по настройке клиента.
Спасибо, я также смог использовать метод URL, например createClient({url: redis://:password@hostname:port}). Одно примечание: точка с запятой перед паролем необходима, если имя пользователя не используется.
Спасибо, я также смог использовать метод URL, например