Redis的Order Set操作

时间:2023-03-09 02:28:48
Redis的Order Set操作

有序集合

zadd key score1 value1 score2 value2 ..
添加元素
127.0.0.1:6379> zadd class 12 lily 13 lucy 18 lilei 6 poly
(integer) 4
zrange key start stop [withscores]
把集合排序后,返回名次[start,stop]的元素
默认是升续排列
withscores 是把score也打印出来
127.0.0.1:6379> zrange class 0 3
1) "poly"
2) "lily"
3) "lucy"
4) "lilei"
127.0.0.1:6379> zrange class 0 3 withscores
1) "poly"
2) "6"
3) "lily"
4) "12"
5) "lucy"
6) "13"
7) "lilei"
8) "18"
zrangebyscore  key min max [withscores] limit offset N
作用: 集合(升续)排序后,取score在[min,max]内的元素,
并跳过 offset个, 取出N个
127.0.0.1:6379> zrangebyscore class 13 18
1) "lucy"
2) "lilei"
127.0.0.1:6379> zrangebyscore class 0 20 limit 1 2//poly lily lucy lilei,跳过第一个,取两个,也就是lily lucy
1) "lily"
2) "lucy"
zrank key member
查询member的排名(升续 0名开始)
zrevrank key memeber
查询 member的排名(降续 0名开始)
127.0.0.1:6379> zrange class 0 -1
1) "poly"
2) "lily"
3) "lucy"
4) "lilei"
127.0.0.1:6379> zrank class lily
(integer) 1
127.0.0.1:6379> zrank class poly
(integer) 0
127.0.0.1:6379> zrank class lilei
(integer) 3
127.0.0.1:6379> zrevrank class poly
(integer) 3
127.0.0.1:6379> zrevrank class lilei
(integer) 0
zremrangebyscore key min max
作用: 按照socre来删除元素,删除score在[min,max]之间的
127.0.0.1:6379> zrange class 0 -1 withscores
1) "poly"
2) "6"
3) "lily"
4) "12"
5) "lucy"
6) "13"
7) "lilei"
8) "18"
127.0.0.1:6379> zremrangebyscore class 10 15
(integer) 2
127.0.0.1:6379> zrange class 0 -1 withscores
1) "poly"
2) "6"
3) "lilei"
4) "18"
zremrangebyrank key start end
作用: 按排名删除元素,删除名次在[start,end]之间的
127.0.0.1:6379> zrange class 0 -1
1) "poly"
2) "lily"
3) "lucy"
4) "lilei"
127.0.0.1:6379> zremrangebyrank class 0 1
(integer) 2
127.0.0.1:6379> zrange class 0 -1
1) "lucy"
2) "lilei"
zrem key value1 value2 ..
作用: 删除集合中的元素
127.0.0.1:6379> zrem class lucy
(integer) 1
zcard key
返回元素个数
zcount key min max
返回[min,max] 区间内元素的数量
127.0.0.1:6379> zrange class 0 -1  withscores
1) "poly"
2) "6"
3) "lily"
4) "12"
5) "lucy"
6) "13"
7) "lilei"
8) "18"
127.0.0.1:6379> zcard class
(integer) 4
127.0.0.1:6379> zcount class 10 15
(integer) 2