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

标签 redis

我是 redis 新手,阅读文档后无法找到问题的解决方案。

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

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

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

如果我运行 hkeys 电话簿,我会得到以下信息( key 在存储时返回):

 Andrew
 Sam
 Eddy

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

 Andrew
 Eddy
 Sam

我怎样才能存档这个?我使用的数据结构正确吗?

最佳答案

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

填充排序集...

> 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"

希望对你有帮助...

关于redis - 有没有办法从哈希返回排序的键列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415161/

相关文章:

cassandra - Redis AOF fsync(始终)与 LSM 树

c# - 通过缓存提高SQL Server的性能是否可行?

javascript - 处理并保持 node.js/express session

redis - Redis-Cli 中的定时查询?

redis - 向上箭头键不在 redis-cli(linux 服务器)中切换命令

python-2.7 - python-rq worker自动关闭

laravel - 使用 Redis 在 Laravel 中缓存

mysql - 使用 mysql 而不是 redis 来为访问多个实例的客户端共享上下文

python - Python 中的 Redis : difference of with and without multi() function

caching - redis如何在服务器停止后保留缓存数据