1:对集合类型的元素进行排序
元素的值必须都是数字和浮点类型
sort temp
在对有序集合类型排序时会忽略元素的分数,只针对元素自身的值进行排序
除了可以排列数字外,SORT命令还可以通过ALPHA参数实现按照字典顺序排列非数字元素
sort abc ALPHA
即可对字母和数字混合的进行排序 数字>小写>大写
2:排序默认的是从小到大, DESC 参数 即可变成从大到小
sort abc ALPHA DESC
3:分页 和mysql 是一样的
sort abc ALPHA DESC LIMIT 0 2
如果键tag:php集合下存的是属于标签PHP的文章的ID,现在想根据这些文章的创建时间排序怎么办?
by参数
用法
sort tag:php by post:*->created_at desc
tag:php 键存的都是文章ID
post:* 这些都是Hash类型里头都有字段created_by
除了hash类型指定字段也可以直接就是string 类型
sort tag:php by post_created_at:* desc
当两个键的值是一样的时候,就会比较两个键的大小
只能有一个by参数
如果我排序的时候我还想顺便获取文章的标题
GET 参数
sort tag:php by post:*->created_at desc get post:*->title
可以get 多个参数,如果参数不存在会存NULL
如果想要顺便返回文章的ID get # 就可以了
sort tag:php by post:*->created_at desc get post:*->title get #
这个也是带分页功能的
sort tag:php by post:*->created_at desc get post:*->title get # limit 0 2
STORE 参数
如果想要把排序的结果保存到某个键中, 排序是很耗资源的
sort tag:php by post:*->created_at desc get post:*->title get # store result.store
result.store键是一个list 类型,如果存在键直接覆盖
性能问题:
Sort 是redis中最强大复杂的命令之一
(1)尽可能减少待排序键中元素的数量(使N尽可能小)。 (2)使用LIMIT参数只获取需要的数据(使M尽可能小)。 (3)如果要排序的数据数量较大,尽可能使用STORE参数将结果缓存。
- 你总不小心把倩影靠在月亮上面
- 万顷月光舞动着你优美的梦幻
!!!