我是redis新手并阅读文档我无法找到解决问题的方法。
我有一个带有姓名和电话号码的哈希,我想得到哈希中键的排序列表。
所以我的哈希(电话簿)看起来像这样:
Andrew -> 9999
Sam -> 6666
Eddy -> 5555
如果我运行hkeys phonebook
,我会得到这个(密钥会在存储时返回):
Andrew
Sam
Eddy
我想得到这个(有序密钥):
Andrew
Eddy
Sam
我如何存档?我使用的是正确的数据结构吗?
答案 0 :(得分:2)
您可以使用有序集来实现此目的,而不是哈希,并且您不需要维护并行列表;它全部包含在一个结构中......
填充已排序的集合...
> 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"
希望它有所帮助...