redis中的order set 有序集合
命令
1 zadd key score1 value1 score2 value2 ..
添加元素

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic
(integer) 3

127.0.0.1:6379> zrangebyscore user 0 20 withscores
1) "lilic"
2) "8"
3) "lilia"
4) "12"
5) "lilib"
6) "13"

2 zrem key value1 value2 ..
删除集合中的元素


127.0.0.1:6379> zrem user lilia
(integer) 1

3 zremrangebyscore key min max
删除score在[min,max]之间的元素,返回删除的个数

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic
(integer) 3
127.0.0.1:6379> zremrangebyscore user 10 15
(integer) 2


127.0.0.1:6379> zrangebyscore user 0 20 withscores
1) "lilic"
2) "8"

4 zremrangebyrank key start end
按排名删除元素,删除名次在[start,end]之间的

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic
(integer) 3
127.0.0.1:6379> zremrangebyrank user 1 2
(integer) 2
127.0.0.1:6379> zrangebyscore user 0 20 withscores
1) "lilic"
2) "8"

5 zrank key value
查询value的排名(升续 0名开始)

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic
(integer) 3
127.0.0.1:6379> zrank user lilic
(integer) 0

6 zrevrank key value
查询 value的排名(降续 0名开始)

127.0.0.1:6379> zrevrank user lilic
(integer) 2

7 zrange key start stop [WITHSCORES]
返回名次[start,stop]的元素,默认是升续排列
Withscores :显示score

127.0.0.1:6379> zrange user 0 3 withscores
1) "lilic"
2) "8"
3) "lilia"
4) "12"
5) "lilib"
6) "13"

8 zrevrange key start stop [WITHSCORES]
返回名次[start,stop]的元素,降序排列
Withscores :显示score

127.0.0.1:6379> zrevrange  user 0 3 withscores
1) "lilib"
2) "13"
3) "lilia"
4) "12"
5) "lilic"
6) "8"

9 zrangebyscore key min max [withscores] limit offset N
集合(升续)排序后,取score在[min,max]内的元素,并跳过 offset个后, 取出N个

127.0.0.1:6379> zrangebyscore   user 8 13 withscores limit 0 1
1) "lilic"
2) "8"
127.0.0.1:6379> zrangebyscore   user 8 13 withscores limit 1 1
1) "lilia"
2) "12"
127.0.0.1:6379> zrangebyscore   user 8 13 withscores limit 2 1
1) "lilib"
2) "13"

10 zcard key
返回元素个数

127.0.0.1:6379> zcard user
(integer) 3

11 zcount key min max
返回score在[min,max] 区间内元素的数量

127.0.0.1:6379> zcount user 8 13
(integer) 3

12 zinterstore dest numkeys key1 [key2 …]
[weights weight1 [weight2 …]]
[aggregate sum|min|max]
numkeys :几个集合做操作
weights :让集合的score乘以权重weight1
聚合方法用: sum |min|max
聚合的结果,保存在dest集合内

127.0.0.1:6379> zadd num1  1 a 2 b 3 c
(integer) 3
127.0.0.1:6379> zadd num2  1 a 2 b 3 c 4 d
(integer) 4

127.0.0.1:6379> zinterstore dest 2 num1 num2  weights 2 1 aggregate sum
(integer) 3

127.0.0.1:6379> zrange dest  0 10 withscores
1) "a"
2) "3"
3) "b"
4) "6"
5) "c"
6) "9"
posted on 2017-06-16 10:50  2637282556  阅读(171)  评论(0编辑  收藏  举报