redis高级命令
2014-06-18 15:33
246 查看
sort 命令
1 修饰符 desc 降序排列
2 允许元素按照字段序列排序 alpha ,此时的排序相当于字符串排序, 数字转化为字符 12 排在 2 的前面
3 可以指定避开某些元素,然后开始排序,并返回前n个, 语法为 sort key skip count 。
比如 sort list 3 10 表示大于3 的元素的10个。
4 sort list limit 0 3 alpha desc 组合可以。
5 可以为多个key 按照权重排序, 以如下为例
set weight_2 300
set weight_3 200
set weight_1 100
rpush mylist 3 2 1
排序命令: sort mylist by weight_* , 就会把mylist的每个元素取出来,替换*,然后排序weight_1 2 3 。
结果为: 1 2 3 。
可以用get 命令取得权重值: sort mylist by weight_* get weight_*
结果为: 100 200 300
还可以将元素与权重值都取出来存入指定目的地dest_list(存储命令为: store, 取得序号本身: get #)
sort mylist by weight_* get # get weight_* store dest_list
lrange dest_list 0 -1
结果为: 1 100 2 200 3 300
6 可以根据hash表中某个field字段的值排序。
hset user1 score 80
hset user2 score 70
hset user3 score 90
sort mylist by user_*->score desc ---> 3 1 2
sort mylist by user_*->score get user_*->score desc ----> 90 80 70
redis 127.0.0.1:6378> hmset user1 score 80 age 10 name wangfeng
OK
redis 127.0.0.1:6378> hmset user2 score 70 age 12 name lixiang
OK
redis 127.0.0.1:6378> hmset user3 score 90 age 11 name liuben
OK
redis 127.0.0.1:6378> sort mylist by user*->score get # get user*->score get user*->name get user*->age
1) "2"
2) "70"
3) "lixiang"
4) "12"
5) "1"
6) "80"
7) "wangfeng"
8) "10"
9) "3"
10) "90"
11) "liuben"
12) "11"
最后说明一下,如果mylist中元素比我们要比较的多,可以采用limit 参数来跳过一些数值。
1 修饰符 desc 降序排列
2 允许元素按照字段序列排序 alpha ,此时的排序相当于字符串排序, 数字转化为字符 12 排在 2 的前面
3 可以指定避开某些元素,然后开始排序,并返回前n个, 语法为 sort key skip count 。
比如 sort list 3 10 表示大于3 的元素的10个。
4 sort list limit 0 3 alpha desc 组合可以。
5 可以为多个key 按照权重排序, 以如下为例
set weight_2 300
set weight_3 200
set weight_1 100
rpush mylist 3 2 1
排序命令: sort mylist by weight_* , 就会把mylist的每个元素取出来,替换*,然后排序weight_1 2 3 。
结果为: 1 2 3 。
可以用get 命令取得权重值: sort mylist by weight_* get weight_*
结果为: 100 200 300
还可以将元素与权重值都取出来存入指定目的地dest_list(存储命令为: store, 取得序号本身: get #)
sort mylist by weight_* get # get weight_* store dest_list
lrange dest_list 0 -1
结果为: 1 100 2 200 3 300
6 可以根据hash表中某个field字段的值排序。
hset user1 score 80
hset user2 score 70
hset user3 score 90
sort mylist by user_*->score desc ---> 3 1 2
sort mylist by user_*->score get user_*->score desc ----> 90 80 70
redis 127.0.0.1:6378> hmset user1 score 80 age 10 name wangfeng
OK
redis 127.0.0.1:6378> hmset user2 score 70 age 12 name lixiang
OK
redis 127.0.0.1:6378> hmset user3 score 90 age 11 name liuben
OK
redis 127.0.0.1:6378> sort mylist by user*->score get # get user*->score get user*->name get user*->age
1) "2"
2) "70"
3) "lixiang"
4) "12"
5) "1"
6) "80"
7) "wangfeng"
8) "10"
9) "3"
10) "90"
11) "liuben"
12) "11"
最后说明一下,如果mylist中元素比我们要比较的多,可以采用limit 参数来跳过一些数值。
SORT key [BY
pattern] [LIMIT offset count][GET
pattern [GET pattern ...]] [ASC|DESC] [ALPHA][STORE
destination]
相关文章推荐
- NoSQL之Redis高级实用命令详解--事务处理
- 三、Redis的高级命令及高级应用
- redis常用命令及高级应用之键值的相关命令
- redis常用命令(高级篇)
- Redis-3. Redis高级命令
- NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- Redis较为高级命令
- Redis高级实用命令详解--安全和主从复制
- Redis的常用命令及高级应用
- redis (四) -redis 常用命令与高级用法(密码及主从复制)
- 【Redis 3】Redis数据库的学习与实践—Redis的常用命令及高级应用
- Redis高级实用命令详解--安全和主从复制
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- NoSQL之Redis高级实用命令详解--安全和主从复制
- Redis的常用命令及高级应用
- NoSQL之Redis高级命令详解--持久化机制
- NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- Redis数据库的学习与实践—Redis的常用命令及高级应用
- Redis学习笔记(十二) 高级命令:服务器管理命令
- Redis高级命令