在Node.js中解析Redis HGETALL对象

Tra*_*vis 6 redis node.js

我正在尝试解析Node.js中的HGETALL对象.


在Redis CLI中:

> HGETALL userList
Run Code Online (Sandbox Code Playgroud)

回报

1) "19578616521094096601"
2) "User 1"
3) "1682930884780137383"
4) "User 2"
Run Code Online (Sandbox Code Playgroud)

在节点中:

var redis = require('redis')
,   r = redis.createClient();

console.log(r.HGETALL('userList'));
Run Code Online (Sandbox Code Playgroud)

回报

true
Run Code Online (Sandbox Code Playgroud)

我想将userList对象解析为JSON或数组,但我似乎无法弄清楚如何从中提取数据.

mal*_*tjo 15

RedisClient使用回调来返回结果.

例:

var redis = require('redis'),
    r = redis.createClient();

r.hgetall('userList', function(err, results) {
   if (err) {
       // do something like callback(err) or whatever
   } else {
      // do something with results
      console.log(results)
   }
});
Run Code Online (Sandbox Code Playgroud)

  • 请注意,"对象中的键"通常不是最好的方法.最好使用`Object.keys(object).forEach(key => {...});` (2认同)
  • 为什么`for..in`“通常不是最好的方法”......?我相当确定它更快,而且它可以让你早点休息。 (2认同)