小编典典

有没有办法从哈希返回排序的键列表?

redis

我是Redis的新手,正在阅读文档,但找不到解决问题的方法。

我有一个包含名称和电话号码的hash,我想获取hash中键的排序列表。

所以我的哈希(电话簿)看起来像这样:

 Andrew -> 9999
 Sam    -> 6666
 Eddy   -> 5555

如果我运行,hkeys phonebook我会得到此信息(密钥将在存储时返回):

 Andrew
 Sam
 Eddy

我想得到这个(有序键):

 Andrew
 Eddy
 Sam

我该如何存档?我使用的数据结构正确吗?


阅读 299

收藏
2020-06-20

共1个答案

小编典典

您可以使用排序集而不是哈希来实现此目的,并且不需要维护并行列表。全部包含在一个结构中…

填充排序的集…

> zadd ss:phonebook 9999 Andrew
> zadd ss:phonebook 4444 Sam
> zadd ss:phonebook 3333 Bob
> zadd ss:phonebook 7777 Maria
> zadd ss:phonebook 8888 Sophia

由于ss:phonebook包含字符串值(名称),并且您要按字典顺序对其进行排序,因此请使用ALPHA修饰符:

> SORT ss:phonebook ALPHA
1) "Andrew"
2) "Bob"
3) "Maria"
4) "Sam"
5) "Sophia"

希望能帮助到你…

2020-06-20