zset:
【有序集合】
【本质上是集合,所有元素不能重复】
【每一个元素都关联一个分数,redis会根据分数对元素自动排序】
【分数可以重复,value不能重复】
【既然有序集合中每一个元素有顺序,那么也都有下标】
【有序集合中元素的排序规则与列表中元素的排序规则不一样】
1、将一个或者多个member及其score值加入有序集合:zadd key score member [score member...]
如果元素已经存在,则会把分数覆盖掉
zadd zset01 20 z1 30 z2 50 z3 40 z4
zadd zset01 60 z2
2、获取指定有序集合中指定下标区间的元素:zrange key startIndex endIndex [withscores]
zrange zset01 0 -1
zrange zset01 0 -1 withscores
3、获取指定有序集合中指定分数区间(闭区间)的元素:zrangebyscore key min max[withscores]
zrangebyscore zset01 30 50 withscores
4、删除指定有序集合中一个或者多个元素:zrem key member [member...]
zrem zset01 z3 z4
5、获取指定有序集合中所有元素的个数:zcard key
zcard zset01
6、获取指定有序集合分数在指定区间内的元素的个数:zcount key min max
zcount zset01 20 50
7、获取指定有序集合中指定元素的排名(排名从0开始):zrank key member
zrank zset01 z4
8、获取指定有序集合中指定元素的分数:zscore key member
zscore zset01 z4
9、获取指定有序集合中指定元素的排名(按照分数从大到小排名):zrevrank key member
zrevrank zset01 z4
10、获取指定有序集合中指定下标区间的元素(从后往前排序):zrevrange key startIndex endIndex
zrevrange zset01 0 -1