const redis = require('redis'); const client = redis.createClient({ host: 'redis-19606.redislabs.com', port: 19606, password: 'password' }); client.on('ready', () => { console.log('redis is connected'); }); client.on('error', (err) => { console.log('redis is disconnected: ', err); }); (async () => { try { await client.connect(); } catch (error) { console.error('error while connecting redis', error); } })();Esto de alguna manera no parece funcionar. ¿Qué estoy haciendo mal? Sigue conectándose a 127.0.0.1:6379, que es la configuración predeterminada en lugar de lo que estoy pasando. Esto solo sucede con el cliente nodejs de redis. go-redis, el cliente de golang para redis funciona perfectamente.
Solo una suposición, pero ¿qué versión de Node Redis usas? Tuve dificultades para actualizarme. La configuración del cliente ha cambiado desde la versión 4.xx. Desde la versión 4.xx, debe usar una configuración de acuerdo con la Configuración del cliente . Por lo tanto, use
const client = redis.createClient({ socket: { host: 'redis-19606.redislabs.com', port: 19606, } });o usa una URL
const client = redis.createClient({ url: "redis://redis-19606.redislabs.com:19606" });La configuración de su cliente coincide con la versión 3.xx de Node Redis, pero no con la 4.xx. Consulte Redis NPM v3.1.2 y Redis NPM v4.0.1 para obtener más información.
debe mantener este formato de cadena de conexión de Redis:
redis://:YOUR_PASSWORD@YOUR_ENDPOINT:YOUR_PORT redisClient.on("connect", () => {})y luego puede usar la variable redisClient para obtener y establecer valores.