gpt4 book ai didi

javascript - 如何按值对redis中的哈希进行排序

转载 作者:可可西里 更新时间:2023-11-01 11:16:50 24 4
gpt4 key购买 nike

我是这个redis的新手,所以请帮助我!我正在使用此命令将值存储在 redis 中,

client.hmset('top_trend', array[0], 0);
client.expire('top_trend', 86400, redis.print);

如果我尝试使用此命令再次设置相同的键,我将增加值“0”,

if(client.hexists('top_trend', array[0]) == true){
client.hincrby('top_trend', array[0] , 1, redis.print);
}

这会将我的数据数组存储在 redis 中,例如,例如:key = "top_trend"

"tamil"
"0"
"english"
"0"
"hindi"
"0"

如果泰米尔语已经可用于键“top_trend”,它将像这样增加它的值:

"tamil"
"1"
"english" (//if english is already 3 times available)
"4"

现在我需要对值进行排序:按降序排列并在 Node js中按排序顺序获取值。如何实现它。??我试过像这样按 object_*->object 命令对 key_value 进行排序。但它不会起作用。帮助我。

最佳答案

回答您的问题 - Redis 不提供检索按值排序的散列内容的方法。如果 Hash 很小,您可以做的是完整获取它,然后在应用程序 (Node.js) 中对其进行排序。

另外,仅供引用,您的代码似乎有些多余 - HINCRBY将初始化该字段,即使它不存在,所以:

127.0.0.1:6379> EXISTS foo
(integer) 0
127.0.0.1:6379> HINCRBY foo bar 1
(integer) 1
127.0.0.1:6379> HGETALL foo
1) "bar"
2) "1"

这意味着除非您有充分的理由“手动”初始化和检查是否存在,否则您可以简单地删除该代码。

关于javascript - 如何按值对redis中的哈希进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46363756/

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