nodejs node ioredis database node.js redis

database - ioredis - redis subscribe node



¿Cómo puedo emitir el comando HGET/GET para Redis Database a través de Node.js? (2)

Estoy usando Node.js y una base de datos Redis. Soy nuevo en Redis.

Estoy usando el controlador https://github.com/mranney/node_redis para el nodo.

Código de inicialización

var redis = require("redis"), client = redis.createClient();

Intenté configurar algunos pares de valores clave:

client.hset("users:123" ,"name", "Jack");

Deseo saber que puedo obtener el parámetro del nombre de Redis a través del nodo.

Lo intenté

var name = client.hget("users:123", "name"); //returns ''true''

pero simplemente devuelve "verdadero" como resultado. Quiero el valor (es decir, Jack) ¿Cuál es la afirmación que necesito usar?


Así es como debes hacerlo:

client.hset("users:123", "name", "Jack"); // returns the complete hash client.hgetall("users:123", function (err, obj) { console.dir(obj); }); // OR // just returns the name of the hash client.hget("users:123", "name", function (err, obj) { console.dir(obj); });

También asegúrese de comprender el concepto de devoluciones de llamada y cierres en javascript y luego la naturaleza asincrónica de node.js. Como puede ver, pasa una función (devolución de llamada o cierre) a la función hget. Esta función se invoca tan pronto como el cliente redis recupera el resultado del servidor. El primer argumento será un objeto de error si hay alguno, de lo contrario, el primer argumento será nulo. El segundo argumento tendrá los resultados.


Encontré la respuesta -

Se necesita una función de devolución de llamada para obtener los valores.

client.hget("users:123", "name", function (err, reply) { console.log(reply.toString()); });