有序集合中的元素是不可重复的
有序集合中的元素是可以排序的,每个元素通过score 分值作为有序集合排序的依据
有序集合添加元素(zadd key [NX|XX] [CH] [INCR] score member [score member ...] )返回添加成功的个数
127.0.0.1:6379> zadd zset 2 two 1 one 5 five 4 four 3 thrre
(integer) 5
NX 表示member必须不存在,才可以设置成功,用于添加
XX 表示member必须存在,才可以设置成功,用于更新
CH 表示返回此次操作后,元素和分数发生变化个数
INCR 对score 做增加
获取有序集合的成员个数(zcard key)不存在返回0
127.0.0.1:6379> zcard zset
(integer) 5
获取有序集合成员分数(zsore key member)成员不存在返回nil
127.0.0.1:6379> zscore zset one
"1"
计算成员分数从低到高排名(zrank key member)成员不存在返回nil
127.0.0.1:6379> zrank zset two
(integer) 1
计算成员分数从高到低排名(zrevrank key member)成员不存在返回nil
127.0.0.1:6379> zrevrank zset two
(integer) 3
删除有序集合中的元素(zrem key member [member ...])
127.0.0.1:6379> zrem zset one
(integer) 1
增加有序集合元素的分数(zincrby key increment member)返回增加分数后的结果
127.0.0.1:6379> zincrby zset 2 two
"4"
有序集合分数从低到高返回指定排名范围的元素(zrange key start end [withscores])
127.0.0.1:6379> zrange zset 1 2 withscores
1) "four"
2) "4"
3) "two"
4) "4"
有序集合分数从高到低返回指定排名范围的元素( zrevrange key start end [withscores])
127.0.0.1:6379> zrevrange zset 1 2 withscores
1) "two"
2) "4"
3) "four"
4) "4"
有序集合指定分数从低到高返回指定排名范围的元素(zrangebyscore key min max end [withscores] [limit offset count]) # +inf 和-inf 代表无穷大和无穷小 、min 和max支持符号()和{}
127.0.0.1:6379> zrangebyscore zset 3 +inf withscores
1) "thrre"
2) "3"
3) "four"
4) "4"
5) "two"
6) "4"
7) "five"
8) "5"
有序集合指定分数从高到低返回指定排名范围的元素( zrevrangebyscore key min max end [withscores] [limit offset count])
127.0.0.1:6379> zrevrangebyscore zset 4 -inf withscores
1) "two"
2) "4"
3) "four"
4) "4"
5) "thrre"
6) "3"
获取有序集合指定分数范围成员的个数(zcount key min max)
127.0.0.1:6379> zcount zset 4 5
(integer) 3
删除有序集合根据指定排名内升序元素(zremrangebyrank key start stop)
127.0.0.1:6379> zremrangebyrank zset 0 1
(integer) 2
删除有序集合根据指定分数范围的元素(zremrangebyscore key min max)
127.0.0.1:6379> zremrangebyscore zset 5 6
(integer) 1
集合间的操作
添加两个有序集合
127.0.0.1:6379> zadd zsetone 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> zadd zsettwo 10 two 5 five 4 four
(integer) 3