一尘不染

Redis:如何按键对哈希进行排序?

redis

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

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

我想用KEYS命令检索所有键:

KEYS news:*

密钥未排序的问题:

news:3
news:1
news:2

我想以正确的顺序检索键列表。我不确定哈希是否是我需要的结构。但是,根据redis文档

Redis哈希是字符串字段和字符串值之间的映射,因此它们是表示对象的理想数据类型(例如,具有多个字段(例如名称,姓氏,年龄等)的用户):

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

有什么建议么 ?


阅读 1378

收藏
2020-06-20

共1个答案

一尘不染

将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在该列表上使用命令。

Redis文档

2020-06-20