Redis的Sorted Set(有序集合)是一种存储唯一元素的集合,其中的元素会根据其分数(score)进行自动排序。你可以使用SORT
命令对Sorted Set中的元素进行排序。
以下是使用SORT
命令对Sorted Set进行排序的基本语法:
SORT key [BY score] [LIMIT offset count] [GET pattern ...] [ASC|DESC] [WITHSCORES]
参数说明:
key
:Sorted Set的键名。BY score
:可选参数,用于指定根据哪个字段(即分数)进行排序。如果省略此参数,则默认按照分数进行升序排序。LIMIT offset count
:可选参数,用于限制排序后的结果数量。offset
表示从第几个元素开始返回,count
表示返回的元素个数。GET pattern ...
:可选参数,用于获取排序后元素的额外信息。pattern
是一个字符串模式,可以匹配Sorted Set中的元素。ASC|DESC
:可选参数,用于指定排序顺序。ASC
表示升序排序(默认),DESC
表示降序排序。WITHSCORES
:可选参数,用于在结果中包含每个元素的分数。
示例:
- 对名为
my_sorted_set
的Sorted Set按照分数进行升序排序:
SORT my_sorted_set
- 对名为
my_sorted_set
的Sorted Set按照分数进行降序排序:
SORT my_sorted_set DESC
- 对名为
my_sorted_set
的Sorted Set按照分数进行升序排序,并限制返回前3个元素:
SORT my_sorted_set LIMIT 0 3
- 对名为
my_sorted_set
的Sorted Set按照分数进行升序排序,并返回每个元素的分数和值:
SORT my_sorted_set WITHSCORES
- 对名为
my_sorted_set
的Sorted Set按照自定义字段field
进行升序排序:
SORT my_sorted_set BY field ASC