SORT 命令
SORT 命令可以根据键里面存储着的数据,对列表,集合以及有序集合进行排序。
参数:
SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern …]] [ASC|DESC] [ALPHA] [STORE destination]
一般排序
SORT KEY 返回从小到大排序的结果
SORT KEY DESC 返回从大到小排序的结果
对字符串进行排序
在上面我们使用 SORT 进行排序,默认排序对象是数字,当需要对字符串进行排序的时候,需要显示地添加 ALPHA 修饰符
限制返回结果
LIMIT 修饰符
LMIT 接受 offset 和 count 两个参数
offset : 要跳过的元素
count : 要返回的对象个数
[LIMIT offset count]
我们这次返回第三名到第八名的元素
使用外部键值进行排序
假设我们有这样一组用户数据
学号 id | 姓名 name | 成绩 grade |
---|---|---|
1 | zhangsan | 60 |
2 | lisi | 85 |
3 | wangwu | 95 |
4 | goudan | 40 |
5 | zhaoqi | 55 |
如果我们直接对 id 进行 SORT 排序,那么结果将会是 1 2 3 4 5。
此时我们期望根据成绩排序。
BY 选项
BY pattern
通过 BY 选项,可以让 id 根据其他键的元素来排序
先取出 id 中的值1 2 3 4 5,然后使用 grade1,grade2…..的值作为排序的权重。
GET 选项
[GET pattern [GET pattern …]]
使用 GET 选项可以,可以根据排序的结果取出相应的键值。
GET BY 混合使用
我们可以根据成绩排序,然后获得对应的姓名。
我们还可以使用
GET # 获得被排序的键值。
BY no-exists-key 通过一个不存在的键值,让 SORT 跳过排序操作。