gpt4 book ai didi

Node.js 和 redis/zadd 对象到一个集合

转载 作者:IT王子 更新时间:2023-10-29 05:59:13 28 4
gpt4 key购买 nike

我有以下代码:

var db = require("redis");
var dbclient1 = db.createClient();

dbclient1.zadd("myprivateset", 3, {"guid":"abab-baba", "data-persistent":"xxxx", "size":"20"})
dbclient1.zadd("myprivateset", 2, {"guid":"abab-baba3", "data-persistent":"xxxx", "size":"20"})
dbclient1.zrangebyscore("myprivateset", 1, 4)
dbclient1.hgetall("myprivateset", function(err, rep){
console.log(rep);
});

我希望将我的对象(以 JSON 格式)存储在一个排序集中,它由分数(在我们的例子中是 3 和 2)决定。

出于某种原因,当我打印此表 (rep) 时,我未定义。

我做错了什么?

最佳答案

问题 1 -- 排序的集合键

尝试将您用作排序集键的 JSON 字符串化。例如,

dbclient1.zadd("myprivateset", 3, {"guid":"abab-baba", "data-persistent":"xxxx", "size":"20"}) 

需要:

dbclient1.zadd("myprivateset", 3, JSON.stringify({"guid":"abab-baba", "data-persistent":"xxxx", "size":"20"})) 

如果不对键进行字符串化,每次 zadd 都会使用键 [object Object] 进行覆盖。也就是说,您的排序集中只有一项无法识别([object Object] 除外)。

问题 2 -- 获取数据

此外,hgetall 不是用于在 Redis 排序集中检索数据的 Redis 命令。您需要关注特定于排序集的命令。此处列出了 Redis 命令列表:http://redis.io/commands

关于Node.js 和 redis/zadd 对象到一个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30725358/

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