如何使用 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
我想知道如何使用 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