雷迪斯 : How can I sort my hash by keys?

标签 redis

假设我有一些新闻存储在哈希中。我有不同的哈希值(每个哈希值代表一个新闻):

news:1
news:2
news:3
...

我想像这样使用 KEYS 命令检索所有 key :

KEYS news:*

key没有排序的问题:

news:3
news:1
news:2

我想以正确的顺序检索键列表。我不确定散列是我需要的结构。但是,根据 redis documentation :

Redis Hashes are maps between string field and string values, so they are the perfect data type to represent objects (for instance Users with a number of fields like name, surname, age, and so forth):

将我的新闻对象存储在散列中似乎是个好主意。

有什么建议吗?

最佳答案

将 Redis 哈希视为索引文档。

HSET news:1 title levy_breaks
HSET news:1 type breaking_news
HSET news:1 byline alphazero
HSET news:1 date 04:25:2011
HSET news:1 content <the story>

HSET news:2 ...
..

在上面,news:1 是“哈希键”,后面跟着一个“哈希字段”,最后是它的关联值。

也就是说,您似乎只是想对“哈希键”进行排序。

使用MULTI/EXEC 构造来设置新闻项(有 n 个字段)的所有字段,最后还添加散列键——例如你的新闻项目 - 它到一个排序集。或者,您可以将它们添加到列表中,然后在该列表上使用 SORT 命令。

The Redis docs .

关于雷迪斯 : How can I sort my hash by keys?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5780365/

相关文章:

ruby - 使用 Redis 的 Rails 4 简单模型缓存

c - 为什么在 redis 的 sdahdr 结构中使用 char buf[] 而不是 char *buf

django - Celery (Django + Redis) 任务失败 : "No connection could be made because the target machine actively refused it"

ruby - 带有类型的 Redis incr 键

multithreading - 执行 pub sub 时 Redis 崩溃

java - CompletableFuture 跨微服务(JVM)

redis - 将所有排序集分数归零

php - 在 PHP 中使用 Node.js、Socket.io、Redis 的私有(private)聊天消息

Redis 选择数据类型的建议

php - 可以从 REDIS 订阅返回响应吗?