如何使用 sort 对哈希进行排序?

How can I sort a hash with sort?

我想知道如何使用 redis-py 对哈希进行排序。

我有以下代码:

redis_db.hmset('data:1',{'n':1, 'user': 'a'})
redis_db.hmset('data:2',{'n':4, 'user': 'b'})
redis_db.hmset('data:3',{'n':5, 'user': 'c'})
redis_db.hmset('data:4',{'n':2, 'user': 'd'})
redis_db.hmset('data:5',{'n':3, 'user': 'e'})
redis_db.sort('data*', by='data:*->n', get=['data:*->n'])

但是我只能得到一个空数组,为什么?我怎样才能得到 n 和用户的 n 值的排序列表?

谢谢。

你得到一个空数组,因为键 data* 不存在。

您只能对 LIST、SET 或 SORTED SET 进行排序。所以首先,您需要放置数据索引,例如1、2、3、4、5,放入 LIST、SET 或 SORTED SET。然后根据HASH中的值排序。

LPUSH indexes 1 2 3 4 5

SORT indexes by data:*->n get data:*->user