Redis sort排序指令

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述Redis sort排序指令相关的知识,希望能为你提供帮助。
@[TOC]
Redis sort排序指令

redis> LPUSH today_cost 30 1.5 10 8 (integer) 4# 排序redis> SORT today_cost 1) "1.5" 2) "8" 3) "10" 4) "30"

原理
sort key命令原理是创建一个和key的列表长度相同的数组,数组的每个项都是redisSortObject结构,根据sort命令的选项不同redisSortObject的结构也不同
默认是
typedef struct _redisSortObject robj *obj; union double score; robj *cmpobj; u; redisSortObject;

obj指向具体的列表元素值,score值是列表项的值的浮点数,然后根据score的值对数组进行数字大小的排序,然后将排序后的结果返回给客户端
其他选项进行排序
sort命令默认按数字进行排序,需要字符串值的键排序的时候,添加ALPHA选项
asc选项是升序,desc选项是降序,limit选项是对排序后的结果进行限制,by选项是可以安装某些字符串的键或者哈希键包含的域作为元素的权重来进行排序,get选项是根据排序结果取出响应的键值,store选项是对排序结果进行保存到指定的键中
命令选项的顺序
这几个选项的执行顺序先是排序,然后是limit选项,限制排序结果长度,然后是get选项获取外部键,然后是store选项进行结果集的保存。
除了get命令外,其他命令选项的先后顺序对结果集没有影响
总结
【Redis sort排序指令】这篇文章讲了redis的sort排序指令,包括他的一些命令的选项的功能和顺序。

    推荐阅读