介绍
Redis的SortedSet是一个可排序的set集合。与java的TreeSet有些类似,但底层数据结构却差别很大。
SortedSet中的每个元素都带有一个score属性,可以基于score属性对元素排序,底层实现是一个跳表SkipList加hash表。
特点
可排序
元素不重复
查询速度快
应用场景
实现排行榜功能
常用命令
zadd key score1 ele1 score2 ele2... 添加一组zset数据
zset排序默认会按照score值升序排序。
zrem key ele删除zset 中指定的元素
zscore key ele获取指定元素的score
zrank key ele 获取指定元素的排名,注意序号返回是从0开始的。
zrevrank key ele返回该元素倒序的序号
zcard key统计zset集合中所有元素个数
zcount key minScore maxScore 统计分数区间里有多少个元素
zincrby key addScoreVal ele 给指定元素增加分数,减少分数直接可以将addScoreVal变成负数
zrange key startIndex endIndex 取指定范围位置内的元素
zrevrange key startIndex endIndex 倒序取出指定范围位置内的元素
zrangebyscore key minSocre maxScore 取出在分数范围内的所有元素