`

Redis 排序命令

 
阅读更多

SORT 命令

 

SORT key [ALPHA] [BY sortkey] [DESC] [LIMIT offset count] [GET keys] [STORE newKey]

 

  sort 可以有set ,list ,zset 进行排序,默认按集合的元素值转换为数值进行从小到大排序。

  

  参数:[ALPHA] :如果元素值不是数据,则可以指定ALPHA参数,按照字典顺序排序。

  [DESC]:默认sort是从小到大排序,可以指定DESC 为降序

  [LIMIT offset count]: 从排序结果中取序号为offset开始的count个元素

  [STORE newKey] :把排序结果存储在一个List变量中

localhost:6379> sadd myset 1 3 5 6 7 0 9
(integer) 7
localhost:6379> sort myset
1) "0"
2) "1"
3) "3"
4) "5"
5) "6"
6) "7"
7) "9"

localhost:6379> sadd netsites 163 sohu yahoo baidu 12306
(integer) 5
localhost:6379> sort netsites alpha
1) "12306"
2) "163"
3) "baidu"
4) "sohu"
5) "yahoo"
localhost:6379> sort netsites alpha limit 0 3
1) "12306"
2) "163"
3) "baidu"
localhost:6379> sort netsites alpha limit 0 3 desc
1) "yahoo"
2) "sohu"
3) "baidu"
localhost:6379> sort netsites alpha limit 0 3 desc store sort:netsites
(integer) 3
localhost:6379> lrange sort:netsites 0 -1
1) "yahoo"
2) "sohu"
3) "baidu"

 

 

[BY sortkey] 参数说明:

[GET keys]参数说明:

localhost:6379> set students:name:1 tom //ID=1的学生名字
OK
localhost:6379> set students:name:2 carry//ID=2的学生名字
OK
localhost:6379> set students:name:3 jack//ID=3的学生分名字
OK
localhost:6379> set students:name:4 lisa//ID=4的学生分名字


localhost:6379> set students:score:1 98 //ID=1的学生分值98
OK
localhost:6379> set students:score:2 39//ID=2的学生分值39
OK
localhost:6379> set students:score:3 80//ID=3的学生分值80
OK
localhost:6379> set students:score:4 58//ID=4的学生分值58
OK
localhost:6379> lpush students 1 2 3 4 //学生id存入list
(integer) 4

localhost:6379> sort students //按照集合中元素值(id)排序的结果
1) "1"
2) "2"
3) "3"
4) "4"

localhost:6379> sort students by students:score:* //关联分值的排序结果 用studnets中的元素值替换students:score:*中的*而生成的key 的值进行排序。
1) "2"                                           //替换后排序的元为:students:score:1,students:score:2,students:score:3,students:score:4 
2) "4"																					//对这4个key进行排序,依据该排序结果输出对应的集合元素顺序
3) "3"
4) "1"
localhost:6379>  sort students by students:score:*  get students:name:* //按照集合排序结果中的元素值替换 get之后的key的中的*而生成的实际key来获取值
1) "carry"
2) "lisa"
3) "jack"
4) "tom"

//sort students by students:score:* 排序后结果为 2,4,3,1 替换get 之后的key而生成 :
students:name:2
students:name:4
students:name:3
students:name:1
以上key对应的值顺序为:
1) "carry"
2) "lisa"
3) "jack"
4) "tom"




localhost:6379> hmset student:1 name lining age 32 sex boy score 76
OK
localhost:6379> hmset student:2 name lisi age 21  sex girl  score 87
OK
localhost:6379> hmset student:7 name tom age 25  sex boy score 34
OK
localhost:6379> sadd studentIds 1 2 7
(integer) 3
localhost:6379> sort studentIds
1) "1"
2) "2"
3) "7"
localhost:6379> sort studentIds by student:*->score////关联分值的排序结果  用studentIds中的元素值替换student:*->score,而生成:student:1->score,student:2->score,student:7->score,表明是按散列表的score值时行排序,依据该排序结果输出对应的集合元素顺序
1) "7"
2) "1"
3) "2"


localhost:6379> sort studentIds by student:*->score get student:*->name 
1) "tom"
2) "lining"
3) "lisi"

//可以通过get获取多个值
localhost:6379> sort studentIds by student:*->score get student:*->name get student:*->age get student:*->sex
1) "tom"
2) "25"
3) "boy"
4) "lining"
5) "32"
6) "boy"
7) "lisi"
8) "21"
9) "girl"

 

分享到:
评论

相关推荐

    Redis 命令参考手册中文完整版chm

    本压缩包包含的"Redis参考手册.CHM"是Redis命令的中文完整版手册,对于学习和使用Redis的开发者来说,是一份极其实用的资料。 一、Redis数据类型 Redis支持五种基本数据类型:字符串(String)、哈希(Hash)、...

    lua-zset, redis排序集相同的lua数据结构.zip

    《lua-zset:Redis排序集在Lua中的实现与应用》 在计算机科学中,数据库管理系统的数据结构设计至关重要,尤其在高性能、高并发的场景下。Redis作为一个内存型的键值存储系统,其丰富的数据结构如哈希表、集合、...

    windows下使用redis,Redis入门使用,Redis基础命令

    本文将深入探讨Redis的基础使用和命令,帮助初学者快速入门。 首先,安装Redis。Windows用户可以下载预编译的Redis二进制文件,解压后启动`redis-server.exe`来启动服务。同时,Redis提供了`redis-cli.exe`客户端,...

    Redis 3 命令参考 CHM

    这个"Redis 3 命令参考 CHM"文件是Redis官方文档的一个离线版,包含了完整的命令参考和使用指南,用户可以方便地通过目录和全文搜索功能来查找所需的信息。 Redis命令是其核心部分,提供了丰富的数据结构操作,包括...

    Redis命令参考手册

    Redis命令参考手册详细罗列了Redis能够执行的各种操作命令,根据数据类型的不同,这些命令可以被分为几大类。 对于键(Key)的操作,Redis提供了DEL、DUMP、EXISTS、EXPIRE、EXPIREAT、KEYS、MIGRATE、MOVE、OBJECT...

    Redis命令参考手册完整版(PDF)

    本PDF手册详尽地介绍了Redis的所有命令及其用法,对于深入理解和使用Redis至关重要。以下将根据标题和描述,结合Redis的基础知识,展开详细介绍。 1. **Redis基本概念** - **键(Key)**:Redis中的数据存储是以键值...

    Redis命令参考手册完整版.pdf

    "Redis命令参考手册完整版.pdf"是学习和使用Redis的重要资源,包含了Redis所有命令的详细说明。 1. **基础命令**: - `SET`:设置键的值,例如`SET key value`,创建或更新键值对。 - `GET`:获取键的值,例如`...

    redis 常用命令

    ### Redis常用命令详解 Redis(Remote Dictionary Server)是一款开源的键值存储系统,以其高性能、低延迟的特点在缓存、消息队列等场景下得到广泛应用。本文将对Redis中的常用命令进行详细介绍,帮助读者更好地...

    redis的命令参考手册,chm格式

    本手册是Redis的官方命令参考,包含了所有可用的Redis命令,对于理解和使用Redis至关重要。 1. **基本操作**: - `SET`:设置键的值,例如 `SET key value`。 - `GET`:获取键的值,例如 `GET key`。 - `DEL`:...

    redis基本命令教程

    根据给定的文件标题“Redis基本命令教程”以及其描述和部分内容,我们可以深入探讨与Redis相关的几个关键知识点,包括如何连接Redis服务器、进行键值对操作、哈希表操作、列表操作、集合操作以及有序集合操作等。...

    Redis命令参考手册完整版.zip

    这份"Redis命令参考手册完整版"包含了Redis所有核心功能的详细文档,是学习和使用Redis的重要参考资料。 Redis支持丰富的数据类型,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)以及有序集合(Sorted ...

    redis实用命令大全

    4. **获取有序集合中指定成员的排名(从小到大排序)**:通过`ZRANK <key> <member>`命令可以获取有序集合中指定成员的排名。 5. **获取有序集合中指定范围的成员**:使用`ZRANGE <key> <start> <stop> [WITHSCORES]...

    redis基本命令.zip

    本压缩包文件“redis基本命令.zip”包含了一份关于Redis基本命令的介绍,下面我们将详细探讨Redis中的关键命令。 首先,让我们打开“redis基本命令.md”文档,它通常会以Markdown格式列出Redis的各种命令。在Redis...

    redis高级命令实践.zip

    本资料包主要聚焦于Redis的高级命令实践,通过"redis高级命令实践.md"文件,我们将深入探讨Redis的多种功能和优化策略。 在Redis中,除了基本的数据类型如字符串(String)、哈希(Hash)、列表(List)、集合(Set...

    redis基础命令讲解

    本节将详细介绍Redis的基础命令,帮助你更好地理解和运用这个强大的内存数据结构存储系统。 一、字符串(String) 1. SET key value:设置key对应的值为value,如果key已存在,则覆盖原值。 2. GET key:获取key对应...

    Redis命令参考手册完整版

    本压缩包包含的"Redis命令参考手册完整版.pdf"是学习和使用Redis的重要参考资料。 在Redis中,命令是与服务器交互的主要方式,理解并掌握各种命令是成为Redis专家的关键。以下是一些主要的Redis命令及其用途: 1. ...

    什么是redis命令实践以及学习了解redis命令实践的意义

    ### 什么是Redis命令实践 Redis(Remote Dictionary Server)是一种开源的键值对存储系统,以其高性能、低延迟的特点被广泛应用于缓存、消息队列、实时数据分析等多种场景中。Redis命令实践指的是通过学习并掌握一...

    redis基本命令.rar

    以下是一些Redis的基本命令,这些内容通常会在`redis基本命令.docx`文档中详细讲解。 1. **连接与断开**: - `redis-cli`:这是Redis的命令行客户端,通过这个工具可以连接到Redis服务器。 - `QUIT`:关闭当前...

Global site tag (gtag.js) - Google Analytics