Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
no se puede conectar a redis en nodejs

Primero lo primero, los detalles:

versión del nodo: v16

Uso de la nube de redislabs (v6.2.3)

paquete npm redis versión 4.0.3

Aquí está el código...

 const redis = require("redis"); require("dotenv").config(); const client = redis.createClient({ host: process.env.REDIS_URI, port: process.env.REDIS_PORT, password: process.env.REDIS_PASSWORD }); client.on("connect", () => { console.log("Connected to our redis instance!"); client.set("iAmAKey", "Value"); });

Al ejecutarlo, no genera nada :( y simplemente se cierra después de un tiempo.

Cualquier ayuda será apreciada. ¡Gracias!

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Bueno, lo hice funcionar ahora. Agregando esto como referencia para cualquier futuro vagabundo con el mismo problema.

Entonces, la comunidad sugirió usar URL en su lugar.

 const redis = require("redis"); require("dotenv").config(); (async () => { const client = redis.createClient({ url: `redis://default:${process.env.REDIS_PASSWORD}@${process.env.REDIS_URI}:${process.env.REDIS_PORT}`, }); client.on("error", (err) => console.log("Redis Client Error", err)); await client.connect(); await client.set("key", "value"); console.log("Redis Connected!") const value = await client.get("key"); console.log(value); })();

Aquí está el problema para futuras referencias: No se puede conectar al servidor redis en la nube de redis-labs #1892

about 4 years ago · Juan Pablo Isaza Report

0

La llamada a .createClient crea un cliente pero en realidad no se conecta a Redis. Entonces, el evento de conexión nunca se dispara. Node Redis 4.x admite promesas, por lo que realmente no necesita la devolución de llamada. Puedes lograr lo mismo con:

 const redis = require("redis"); const client = redis.createClient(); await client.connect(); await client.set('foo', 'bar'); let foo = client.get('foo');

Tenga en cuenta que eliminé el uso de dotenv y solo lo conecté a Redis en localhost en mi código de muestra por brevedad.

about 4 years ago · Juan Pablo Isaza Report

0

información adicional a @Amresh esto es lo que funcionó para mí:

 url: `redis://${process.env.REDIS_PASSWORD}@${process.env.REDIS_URI}:${process.env.REDIS_PORT}`,

sin palabra predeterminada .

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!