我们可以将列表作为值添加到 redis 中的排序集吗?

Can we add a list as a value to sorted set in redis?

我正在尝试根据分数创建一组排序列表。类似于:

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

我们可以这样做吗?或者有什么方法可以做到这一点。

要检索前 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)

如果您也想获取数据,您可以创建一个管道并为每个 keyId

调用 smember