有序集合(ZSet)
文章目录
- 有序集合(ZSet)
- 常用命令
- zadd
- zrevrange
- zrange
- zrangebyscore/zrevrangebyscore
- zscore
- zcard
- zrem
- zincrby
- zcount
- zmpop
- zrank /zrevrank
常用命令
命令 | 作用 |
---|---|
zadd key score member | 添加元素 |
zrevrange key start stop [withscores] | 遍历从大到小元素 |
zrange key start stop [withscores] | 遍历从小到大元素 |
zrangebyscore/zrevrangebyscore key min max [ withscores] [ LIMIT offset count] | 获取从小到大或者从大到小指定范围的元素 |
zscore key | 获取元素分数 |
zcard key | 获取集合中元素的数量 |
zrem key 某个score下对于的value值 | 删除元素 |
zincrby key increment member | 增加某个元素的分数 |
zcount key min max | 获得指定分数范围内的元素个数 |
zmpop | 从键名列表中的第一个非空排序集中弹出一个或者多个元素 |
zrank key values值 | 获取下标值 |
zrevrank key values值 | 逆序获得下标 |
zadd
添加信息
127.0.0.1:6379>
127.0.0.1:6379> zadd zset1 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5
zrevrange
遍历从大到小
127.0.0.1:6379> zrevrange zset1 0 -1 withscores1) "v5"2) "100"3) "v4"4) "90"5) "v3"6) "80"7) "v2"8) "70"9) "v1"
10) "60"
zrange
遍历从小到大
127.0.0.1:6379> zrange zset1 0 -1 withscores1) "v1"2) "60"3) "v2"4) "70"5) "v3"6) "80"7) "v4"8) "90"9) "v5"
10) "100"
zrangebyscore/zrevrangebyscore
获取从小到大或者从大到小指定范围的元素
127.0.0.1:6379> zrange zset1 0 -1 withscores1) "v1"2) "60"3) "v2"4) "70"5) "v3"6) "80"7) "v4"8) "90"9) "v5"
10) "100"
127.0.0.1:6379> zrangebyscore zset1 60 90
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> zrangebyscore zset1 60 90 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores
1) "v2"
2) "70"
3) "v3"
4) "80"
5) "v4"
6) "90"
127.0.0.1:6379> zrangebyscore zset1 (60 90 withscores limit 0 2
1) "v2"
2) "70"
3) "v3"
4) "80"
zscore
获取元素的分数
127.0.0.1:6379> zscore zset1 v5
"100"
zcard
获取集合中元素的数量
127.0.0.1:6379> zcard zset1
(integer) 5
zrem
删除元素
127.0.0.1:6379> zrem zset1 v5
(integer) 1
zincrby
增加某个元素的分数
127.0.0.1:6379> zincrby zset1 3 v1
"63"
zcount
获得指定分数范围内的元素个数
127.0.0.1:6379> zcount zset1 60 90
(integer) 4
zmpop
从键名列表中的第一个非空排序集中弹出一个或者多个元素
127.0.0.1:6379> zmpop 1 zset1 min count 1
1) "zset1"
2) 1) 1) "v1"2) "63"
127.0.0.1:6379> zrevrange zset1 0 -1
1) "v4"
2) "v3"
3) "v2"
zrank /zrevrank
zrank key values值 获取下标值
zrevrank key values值 逆序获得下标
127.0.0.1:6379> zrange zset1 0 -1
1) "v2"
2) "v3"
3) "v4"
127.0.0.1:6379> zrank zset1 v2
(integer) 0
127.0.0.1:6379> zrevrank zset1 v2
(integer) 2