Redis中的排序sort

Redis中的排序sort

        Redis的SORT命令可以对列表键、集合键或者有序集合键的值进行排序。

        SORT命令对number列表元素排序


        使用ALPHA选项对一个包含字符串值的集合键进行排序



SORT<key>命令的实现

        SORT命令的最简单执行形式为:

        SORT<key>

        这个命令可以对一个包含数字键key进行排序。如上面第一个例子所示。

        服务器执行SORT numbers命令的详细步骤如下:






ALPHA选项的实现

        通过使用ALPHA选项,SORT命令可以对包含字符串值的键进行排序

        服务器执行步骤如下:



ASC选项和DESC选项的实现

        默认情况,SORT命令执行升序排序,排序后的结果按照值的大小从小到大排列,

        SORT<key> 和 SORT<key> ASC命令的执行结果一样

        执行SORT命令时使用DESC选项,可以让命令执行降序排序,让排序后的结果按值的大小从大到小排列。



BY选项的实现

        在默认情况下,SORT命令使用被排序键包含的元素作为排序的权重,元素本身决定了元素在排序后所处的位置。


        通过BY选项,SORT命令可以指定某些字符串键,或者某个哈希键所包含的某些域(filed)来作为元素的权重,对一个键进行排序。下面的例子就是按照水果的价钱排序:




带有ALPHA选项的BY选项的实现

        BY选项默认假设权重键保存的值为数字值,如果权重键保存的是字符串值的话,就需要在使用BY选项时,配合使用ALPHA选项。


        使用水果编号为权重对fruits集合进行排序:



LIMIT选项的实现

        在默认情况下,SORT命令总会将排序后的所有元素都返回给客户端

        使用LIMIT选项,我们可以让SORT命令只返回其中一部分已排序的元素。

LIMIT <offset> <count>

        offset表示要跳过已排序元素数量

        count表示跳过给定数量的已排序元素之后,要返回的已排序元素数量。


GET选项的实现

        默认情况下,SORT命令在对键进行排序之后,总是返回被排序键本身所包含的元素。

        通过使用GET选项,我们可以让SORT命令返回GET选项所指定模式对应的某些键的值。




STORE选项的实现

        默认情况,SORT命令只返回排序结果,不保存排序结果。

        通过使用STORE选项,我们可以将排序结果保存在指定的键里面,并在有需要时重用这个排序结果。




多个选项的执行顺序

        按照选项来划分的话,一个SORT命令的执行过程可以分为以下五步:


        在以上这些步骤中,后一个步骤必须在前一个步骤完成之后进行。

        举个例子:


总结:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值