gpt4 book ai didi

javascript - redis 客户端和 Node js - hgetall 方法失败,结果为空

转载 作者:IT王子 更新时间:2023-10-29 06:14:05 26 4
gpt4 key购买 nike

今天是我使用 redis cilent 和 node js 的第一天。

我正在尝试复制我通过 node.js 中的 redis-cli 运行的命令:

127.0.0.1:6379> HGETALL widgets:9145090003_00:00_00:00
1) "id"
2) "33305"
3) "loc"
4) "jamaica"
5) "days"
6) ""

这是 nodejs 代码:

client.hgetall("widgets:9145090003_00:00_00:00", function (err, replies) {
console.log(err);
replies.forEach(function (reply,i) {
console.log(' ' + i + ':' + reply);
});
});

它返回 null,然后在尝试执行 foreach 时失败。

我也试过:

 client.hgetall("widgets", function (err, replies) {
console.log(err);
replies.forEach(function (reply,i) {
console.log(' ' + i + ':' + reply);
});
});

但我得到了相同的结果。

不确定我做错了什么。

编辑 1

我试过这段代码:

 17 console.log("attempting to do hgetall..");
18 client.hgetall("widgets:9145090003_00:00_00:00", function (err, replies) {
19 //for (let k in replies) console.log(' ${k}:${replies[k]}');
20 console.log(replies.id);
21 });

结果如下:

/var/www/html/node/test/models/Widgets.js:20
console.log(replies.id);
^

TypeError: Cannot read property 'id' of null

然而,在 CLI 中我可以这样做:

127.0.0.1:6379> HGET widgets:9145090003_00:00_00:00 id
"33305"
127.0.0.1:6379> HGETALL widgets:9145090003_00:00_00:00
1) "id"
2) "33305"
3) "loc"
4) "jamaica"
5) "days"
6) ""
127.0.0.1:6379>

最佳答案

hgetall 的回复是 Object 类型,尝试在您的代码中添加以下行

console.log(replies.id);

您将在控制台中打印 33305。

关于javascript - redis 客户端和 Node js - hgetall 方法失败,结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39458141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com