Redis的Zset数据类型及常用命令(有序集合)

有续集和的底层数据结构是跳跃链表

在set的基础上增加了一个值,set k1 v1,zset k1 score v1

ZADD 添加数据

ZRANGE 获取以下标长度的数据

127.0.0.1:6379> ZADD set 1 one  
(integer) 1
127.0.0.1:6379> ZADD set 2 two 3 three
(integer) 2
127.0.0.1:6379> ZRANGE set 0 -1
1) "one"
2) "two"
3) "three"

ZRANGEBYSCORE升序排序,-inf代表负无穷,+inf代表正无穷

127.0.0.1:6379> ZADD set 1 one  
(integer) 1
127.0.0.1:6379> ZADD set 2 two 3 three
(integer) 2
127.0.0.1:6379> ZRANGEBYSCORE set -inf +inf
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> ZRANGEBYSCORE set -inf +inf withscores
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"

ZRANGEBYSCORE降序排序,-inf代表负无穷,+inf代表正无穷

127.0.0.1:6379> ZREVRANGEBYSCORE set 3 1 
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> ZREVRANGEBYSCORE set 3 1 withscores
1) "three"
2) "3"
3) "two"
4) "2"
5) "one"
6) "1"
127.0.0.1:6379> ZREVRANGEBYSCORE set +inf -inf withscores
1) "three"
2) "3"
3) "two"
4) "2"
5) "one"
6) "1"

ZREM删除元素

127.0.0.1:6379> ZREM set two
(integer) 1
127.0.0.1:6379> ZRANGE set 0 -1
1) "one"
2) "three"

获取集合中的个数

127.0.0.1:6379> ZCARD set
(integer) 2

获取指定区间的成员数量

127.0.0.1:6379> ZCOUNT set 1 2
(integer) 2

学习参考狂神说java