redis中的order set 有序集合

来源:互联网 发布:s730手簿导出数据 编辑:程序博客网 时间:2024/06/03 15:03

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

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic(integer) 3127.0.0.1:6379> zrangebyscore user 0 20 withscores1) "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) 3127.0.0.1:6379> zremrangebyscore user 10 15(integer) 2127.0.0.1:6379> zrangebyscore user 0 20 withscores1) "lilic"2) "8"

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

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

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

127.0.0.1:6379> zadd user 12 lilia 13 lilib 8 lilic(integer) 3127.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 withscores1) "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 withscores1) "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 11) "lilic"2) "8"127.0.0.1:6379> zrangebyscore   user 8 13 withscores limit 1 11) "lilia"2) "12"127.0.0.1:6379> zrangebyscore   user 8 13 withscores limit 2 11) "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) 3127.0.0.1:6379> zadd num2  1 a 2 b 3 c 4 d(integer) 4127.0.0.1:6379> zinterstore dest 2 num1 num2  weights 2 1 aggregate sum(integer) 3127.0.0.1:6379> zrange dest  0 10 withscores1) "a"2) "3"3) "b"4) "6"5) "c"6) "9"
原创粉丝点击