有序集合
本质上是集合,所有元素不能重复;
每一个元素都关联一个分数,redis会根据分数对元素进行自动排序;
分数可以重复;
既然有序集合中每一个元素都有顺序,那么也都有下标;
有序集合中元素的排序规则又列表中元素的排序规则不一样。
基本操作命令
1)将一个或者多个member及其score值加入有序集合:zadd key score member [score member ....]
*如果元素已经存在,则把分数覆盖
zadd zset01 20 z1 30 z2 50 z3 40 z4
zadd zset01 60 z22)获取指定有序集合中指定下标区间的元素:zrange key startIndex endIndex [withscores]
zrange zset01 0 -1
zrange zset01 0 -1 withscores3)获取指定有序集合中指定分数区间(闭区间)的元素:zrangebyscore key min max [withscores]
zrangebyscore zset01 30 50 withscores4)删除指定有序集合中一个或者多个元素:zrem key member [member......]
zrem zset01 z3 z45)获取指定有序集合中所有元素的个数:zcard key
zcard zset016)获取指定有序集合中分数在指定区间内的元素的个数:zcount key min max
zcount zset01 20 507)获取指定有序集合中指定元素的排名(排名从0开始): zrank key member
zrank zset01 z4 ===>28)获取指定有序集合中指定元素的分数:zscore key member
zscore zset01 z49)获取指定有序集合中指定元素的排名(按照分数从大到小的排名):zrevrank key member
zrevrank zset01 z4 ===>1