测试人员应该知道的Redis知识(八) sorted set
一、概述
Redis sorted set和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)。
sorted set虽然不像string和hash在工作中那么常用,但是在一些特定场合还是非常好用的,今天我们一起来看一下针对Hash类型,我们工作中常用的一些命令。
二、zadd/zrange
zadd : 向有序集合添加一个或多个成员,或者更新已存在成员的分数。
zrange : 通过索引区间返回有序集合指定区间内的成员。加上withscores的话可以显示对应的分数。
三、zrangebyscore
zrangebyscore : 通过分数返回有序集合指定区间内的成员。可以使用‘(’表示不包含。
四、zrem
zrem : 移除有序集合中的一个或多个成员。
五、zcard/zcount/zrank/zscore
zcard : 获取有序集合的成员数。
zcount : 计算在有序集合中指定区间分数的成员数。
zrank : 返回有序集合中指定成员的索引。
zscore : 返回有序集中,成员的分数值。
六、zrevrank/zrevrange/zrevrangebyscore
zrevrank : 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序。
zrevrange :返回有序集中指定区间内的成员,通过索引,分数从高到低。
zrevrangebyscore : 返回有序集中指定分数区间内的成员,分数从高到低排序。
七、总结
Redis sorted set 简单理解就是set带上了分数,并且我们可以对分数的区间进行快速查找。如果大家还有别的什么问题,可以在评论中留言。