Redis基础——sort排序

来源:互联网 发布:百度浏览器打不开淘宝 编辑:程序博客网 时间:2024/06/09 18:48

1.准备工作。 tar:ruby:posts 存储post:* 的ID post:*为散列类型的键

127.0.0.1:6379> LPUSH tag:ruby:posts 3 34 12 5 1
(integer) 5
127.0.0.1:6379> HSET post:3 level 32
(integer) 1
127.0.0.1:6379> HSET post:12 level 65
(integer) 1
127.0.0.1:6379> HSET post:1 level 77
(integer) 1
127.0.0.1:6379> HSET post:5 level 30
(integer) 1
127.0.0.1:6379> HSET post:34 level 50
(integer) 1

2.使用BY参数指定排序规则,tag:ruby:posts中的元素会替代post:*中的* ,->代表取出散列键中的某一field,DESC 代表倒序排列

127.0.0.1:6379> SORT tag:ruby:posts BY post:*->level DESC
1) "1"
2) "12"
3) "34"
4) "3"
5) "5"

3.使用GET参数指定显示的内容

127.0.0.1:6379> SORT tag:ruby:posts BY post:*->level DESC GET post:*->level
1) "77"
2) "65"
3) "50"
4) "32"
5) "30"

4.可以用多个GET参数 ,#代表显示ID(在这里为*)

127.0.0.1:6379> SORT tag:ruby:posts BY post:*->level DESC GET post:*->level GET #
 1) "77"
 2) "1"
 3) "65"
 4) "12"
 5) "50"
 6) "34"
 7) "32"
 8) "3"
 9) "30"
10) "5"

5. 使用STORE参数将结果存入指定键中,该键的类型为列表

127.0.0.1:6379> SORT tag:ruby:posts BY post:*->level DESC GET post:*->level GET # STORE level.rank
(integer) 10
127.0.0.1:6379> LRANGE level.rank 0 -1
 1) "77"
 2) "1"
 3) "65"
 4) "12"
 5) "50"
 6) "34"
 7) "32"
 8) "3"
 9) "30"
10) "5"

原创粉丝点击