如何通过Node.js为Redis数据库发出HGET / GET命令?
我正在使用Node.js和一个Redis数据库。 我是Redis的新手。
我正在使用节点的https://github.com/mranney/node_redis驱动程序。
初始化代码 –
var redis = require("redis"), client = redis.createClient();
我尝试设置一些关键值对 –
client.hset("users:123" ,"name", "Jack");
我想知道我可以通过节点从Redis获取名称参数。
我试过了
var name = client.hget("users:123", "name"); //returns 'true'
但它只是作为输出返回“真”。 我想要的价值(即 – 杰克)什么是我需要使用的声明?
这是你应该这样做的:
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); });
另外,请确保您了解JavaScript中的callback和闭包的概念,然后了解node.js的asynchronous本质。 正如你所看到的,你传递一个函数(callback或者closure)函数给hget。 一旦redis客户端从服务器获取结果,这个函数就会被调用。 如果有的话,第一个参数将是一个错误对象,否则第一个参数将是空的。 第二个论据将会保持结果。
我find了答案 –
获取值需要callback函数。
client.hget("users:123", "name", function (err, reply) { console.log(reply.toString()); });