Можем ли мы добавить список в качестве значения для отсортированного набора в Redis? - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь создать отсортированный набор списков на основе оценки. Что-то вроде:

li="li"
list1 = ['a','b','c']
list2 = ['a','d','e']
redis.zadd(li,1,list1)
redis.zadd(li,2,list2)

Можем ли мы сделать это или как это сделать? sh.

1 Ответ

0 голосов
/ 08 января 2020

чтобы получить список из 10 лучших, вы можете сделать это

создать набор для каждого списка и добавить setId к отсортированному набору

redis.sadd(setId, ...setElements)
redis.sadd(setId, ...setElements)
redis.sadd(setId, ...setElements)

redis.zadd(key, score, setId)
redis.zadd(key, score, setId)
redis.zadd(key, score, setId)
redis.zadd(key, score, setId)

redis.zrange(key, 0, 10) # get the top 10 setId (only the key names)

, если вы хотите получить данные как ну, вы можете создать конвейер и вызвать smember для каждого keyId

...