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());
});