【学习笔记】Redis(5)-排序
2016-07-24 01:00
429 查看
Redis 的 SORT 命令可以对列表、集合或有序集合的值进行排序。
以下代码展示了 SORT 命令对列表键进行排序的例子:
SORT 命令包含的可选参数非常多,接下来我们就来了解一下这些参数。
(1)SORT key ALPHA。使用 ALPHA 选项,SORT 命令可以对包含字符串值的键进行排序。
(2)SORT numbers ASC。使用 ASC 选项,SORT 命令可以执行升序排序,使排序结果按照值,从小到大进行排序(默认情况下使用 ASC)。
(3)SORT numbers DESC。使用 DESC 选项,SORT 命令可以执行降序排序,使排序结果按照值,从大到小进行排序。
(4)SORT result BY *_number。使用 BY 选项,SORT 命令可以指定某些字符串键或者某个哈希键所包含的某些属性来作为元素的权重,对一个键进行排序。BY 选项默认权重键保存的值为数字,如果权重键保存的是字符串的话,那么就需要在使用 BY 选项的同时,使用 ALPHA 选项(SORT result BY *_name ALPHA)。
(5)SORT key LIMIT OFFSET COUNT。默认情况下,SORT 命令总是返回排序后的所有元素,通过使用 LIMIT 选项,可以让 SORT 命令只返回其中一部分元素,OFFSET 表示跳过的元素数量,COUNT 表示返回的元素数量,例如:
以下代码展示了 SORT 命令对列表键进行排序的例子:
redis > RPUSH numbers 5 2 1 4 3 (integer) 5 redis > LRANGE numbers 0 -1 1) "5" 2) "2" 3) "1" 4) "4" 5) "3" redis > SORT numbers 1) "1" 2) "2" 3) "3" 4) "4" 5) "5"以下代码展示了 SORT 命令和 BY 选线对有序集合进行排序的例子:
redis > ZADD result 5.0 dog 1.0 pig 3.0 cat (integer) 3 #为各个元素设置序号 redis > MSET cat_number 1 dog_number 2 pig_number 3 OK #以序号为权重,对有序集合中的元素进行排序 redis > SORT result BY *_number 1) "cat" 2) "dog" 3) "pig:
SORT 命令包含的可选参数非常多,接下来我们就来了解一下这些参数。
(1)SORT key ALPHA。使用 ALPHA 选项,SORT 命令可以对包含字符串值的键进行排序。
(2)SORT numbers ASC。使用 ASC 选项,SORT 命令可以执行升序排序,使排序结果按照值,从小到大进行排序(默认情况下使用 ASC)。
(3)SORT numbers DESC。使用 DESC 选项,SORT 命令可以执行降序排序,使排序结果按照值,从大到小进行排序。
(4)SORT result BY *_number。使用 BY 选项,SORT 命令可以指定某些字符串键或者某个哈希键所包含的某些属性来作为元素的权重,对一个键进行排序。BY 选项默认权重键保存的值为数字,如果权重键保存的是字符串的话,那么就需要在使用 BY 选项的同时,使用 ALPHA 选项(SORT result BY *_name ALPHA)。
(5)SORT key LIMIT OFFSET COUNT。默认情况下,SORT 命令总是返回排序后的所有元素,通过使用 LIMIT 选项,可以让 SORT 命令只返回其中一部分元素,OFFSET 表示跳过的元素数量,COUNT 表示返回的元素数量,例如:
#result = ["b", "a", "c", "e", "d"] #跳过前两个元素,返回之后的三个元素 redis > SORT result ALPHA LIMIT 2 2 1) "c" 2) "d"(6)SORT key GET pattern。使用 GET 选项,可以在排序之后,根据被排序的元素,以及 GET 选项所指定的模式,查找并返回某些键的值。例如:
redis > SET alice-name "Alice White" redis > SET bob-name "Bob Smith" redis > SET tom-name "Tom Snow" redis 4000 > SADD friends "bob" "tom" "alice" #首先对 friends 集合进行排序,得到: #1) "alice" #2) "bob" #3) "tom" #然后根据这三个结果来匹配模式,获取并返回 alice-name、bob-name、tom-name 的值 redis > SORT friends ALPHA GET *-name 1) "Alice White" 2) "Bob Smith" 3) "Tom Snow"(7)SORT key1 STORE key2。默认情况下,SORT 命令只返回排序结果,并不修改原来 key1 中的元素顺序,但是我们可以通过使用 STORE 来将排序结果保存在指定的键里面,在有需要的时候,可以重用这个结果:
#friends = ["bob", "tom", "alice"] redis > SORT friends ALPHA STORE result (integer) 3 redis > LRANGE result 1) "alice" 2) "bob" 3) "tom"
相关文章推荐
- redis中跑lua脚本删除指定key
- Redis命令笔记
- 让Redis在你的系统中发挥更大作用
- 缓存-redis
- Redis教程分享系列:2.Redis安装
- Redis学习笔记五——启动警告问题的解决
- 【学习笔记】Redis(4)-事务
- linux & windows 开机自启动redis
- IRedisClient 常用方法说明
- Redis复制与可扩展集群搭建【转】
- Redis简单了解
- .NET中使用Redis (二)
- .NET中使用Redis
- redis发布与订阅
- linux 安装redis 以及 lump lamp 安装redis扩展
- redis mysql 主从配置
- linux & windows php操作redis
- spring data redis 配置
- windows和linux的redis的安装
- Linux下Lamp环境 和 Lnmp环境 PHP使用Redis安装教程