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

1.1K
Views
Redis: ERR número incorrecto de argumentos para el comando 'auth'

Estoy usando redis con nodejs. Versión: "redis": "^3.1.2"

Cuando mi servidor se conecta a redis, aparece el siguiente error:

 ERR wrong number of arguments for 'auth' command

Supongo que tiene algo que ver con la URL, que se ve así:

 redis://h:<password>@<url>:<port>

Mi redis está alojado en Heroku y no puedo cambiar la URL. Y no tengo idea de cómo puedo hacer que funcione. Cualquier idea/solución muy apreciada.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

La versión de Redis < 6.0.0 y node-redis >=3.1.0 , redis://h:<password>@<url>:<port> no funcionará y generará ERR wrong number of arguments for 'auth' command .

Solución: redis://<password>@<url>:<port> funciona, es decir: elimine el nombre de usuario de la URL .

Esto debería solucionar el problema al que te enfrentas.

Para otras versiones:

Versión de Redis <6.0.0 y node-redis <=3.0.2, redis://h:<password>@<url>:<port> funciona.

Versión de Redis >= 6.0.0 y node-redis (cualquier versión), tanto redis://<username>:<password>@<url>:<port> (cuando el nombre de usuario en redis ACL está configurado como nombre de usuario personalizado) y redis://<password>@<url>:<port> funcionará.

La razón es:

  • node-redis realizó los cambios para admitir Redis-6, según la nota de publicación .

  • Redis-6 admite el nombre de usuario en ALC. Antes de v6, Redis no incluía la noción de usuarios y la única estrategia de autenticación era una contraseña de inicio de sesión única. Referencia

  • Cada vez que adjunta un complemento de Redis al contenedor de Heroku, se establece la variable de entorno REDIS_URL y el valor es URL de conexión con el formato: redis://h:<password>@<url>:<port> . Esta "h" es un nombre de usuario falso/ficticio/de marcador de posición porque algunos clientes (p. ej., node-redis) no pudieron manejar correctamente un nombre de usuario en blanco en la URL. Después del lanzamiento de las ACL en Redis 6, los clientes comenzaron a admitir el nuevo comando AUTH que usa 2 argumentos (nombre de usuario y contraseña). Los clientes que intenten pasar el nombre de usuario h a AUTH generarán un error anterior en las versiones 4 y 5 de Redis. Referencia

over 4 years ago · Santiago Trujillo 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!