En AWS, estoy usando el servidor ElastiCache Redis y uso el nodo como backEnd y el paquete "promise-redis"
así es como trato de hacer para conectarme al punto final de mi servidor redis
client = redis.createClient({ host: '**my redis primary endpoint**', port: 6379 });esto funcionó por un tiempo, pero después de agregar algunas líneas de código no relacionadas con redis , me dio este error
error: connect ECONNREFUSED 127.0.0.1:6379
parece intentar conectarse al servidor local e ignorar el punto final del host que le di
y cuando cambié el puerto a cualquier número como 6300
también dio el mismo error con el número de puerto predeterminado
error: connect ECONNREFUSED 127.0.0.1:6379
estoy tan confundida por favor ayuda !!!!
estos "genios" cambiaron algo tan significativo en su biblioteca como la conexión y ni siquiera dieron una buena advertencia al respecto. Ya guardo silencio sobre el hecho de que es un delito realizar tales cambios cuando su biblioteca en un millón de proyectos ya está codificada. Ahora necesitas conectarte así:
const client = redis.createClient({ socket: { host, port }, password });Le aconsejo que cambie a la biblioteca ioredis , hay una API antigua, solo el cliente se crea a través de Redis nuevo ({old config})
Porque en esta antigua biblioteca ("redis"), por alguna razón ahora requieren una conexión asíncrona () para alguna funcionalidad, sin explicar realmente por qué y cuándo se necesita, y cuándo no se necesita. La mitad del código me funciona y la otra mitad no. Entonces, usa mejor esto:
let Redis = require('ioredis'); const client = new Redis({ host: '***', port: ****, password: '****' });Asegúrese de que la clave de host no tenga la parte del protocolo "http://"
client = redis.createClient({ host: '192.168.45.34', // don't use host: 'http://192.168.45.34' port: 6379 });Si incluye el protocolo en su clave de host, el cliente redis usa localhost de forma predeterminada: 127.0.0.1