Redis 排序的使用

Redis 排序的格式如下:

SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

其中by参数用于指定排序的字段,默认通过本身的hash值进行排序,也可以自己指定字段,包括自己本身的字段和别的key的字段,常用于一些排名操作。其中*表示通配符,类似于正则表达式中的*,->用于连接具体的字段。例如:

 sort userids  by 'user_score_*'  get # get 'user_name_*' get 'user_score_*'

userids 存储着user的id 1,2,3

user_name_*存储user姓名 例如 user_name_1 XX  表示userid为1的姓名

user_score_*存储user分数 例如 user_score_1 XX  表示userid为1的分数

这个操作可以通过用户的分数讲用户的id,姓名,分数显示出来

LIMIT参数用于限制排序以后返回元素的数量,功能类似于SQL中的limit。该参数接受另外两个参数,即offset和count,LIMIT offset count表示跳过前offset个元素,返回之后的连续count个元素。可见,LIMIT参数可以用于实现分页功能

GET参数用于返回指定的字段值。使用BY参数对集合中的所有哈希键按照哈希结构中的字段排序后,SORT命令返回所有排序之后的哈希键。如果某个请求需要不是键而是某些字段值,这时就要使用GET参数,使SORT命令返回指定字段值。

SORT用集合中的每个值(即每个哈希键)替换GET参数之后的第一个“*”,并将其作为返回值。值得注意的是,利用GET #能够得到集合中的哈希键本身。例如用userid中的id替换user_score_的值

ASC和DESC参数用于指定排序顺序(默认为ASC,即从低到高),ALPHA参数用于按照字典顺序排列非数字元素。

STORE参数用于将SORT命令的返回值,即排序结果存入一个指定的列表。加上STORE参数后,SORT命令的返回值就变为排序结果的个数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • # 一度蜜v3.0协议 --- # 交互协议 [TOC] ## 协议说明 ### 请求参数 下表列出了v3.0版协...
    c5e350bc5b40阅读 674评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 3,840评论 0 11
  • 文/孤鸟差鱼 我九成的心 都给了离开的人 还有一成的勇敢 到了油尽灯枯的时辰
    孤鸟差鱼阅读 259评论 2 3