学习Redis五种类型之一的Zset之前,我还是觉得我务必跟你说一声,也是在我文章之中说的很多的一句话,我想也会适用于学习Redis,那就是在接触文章里的Reids命令时,不用试图去记这些命令 ,用到时去看API帮助文档即可;会用了或者实践过了再去了解也不会迟。
在Redis中会发现一个有趣的 套路
Zset有序集合和集合一样也是string类型元素的集合,不允许重复的成员。
区别是每个元素会关联一个double类型的分数。Zset是通过分数来为集合中的成员进行从小到大排序。
(简单的理解Zset就是比Set多一个值)
有序集合的成员是唯一的,但分数(score)却可以重复。
有序集合添加一个或多个成员,或者更新已存在成员的分数
ZADD key score1 member1 [score2 member2]
获取有序集合的成员数
ZCARD key
通过索引区间返回有序集合指定区间内的成员
ZRANGE key start stop [WITHSCORES]
作为有序集合Zset,排序肯定是最核心的。
下面举个实现Zset排序。
博主csdn粉丝 的小栗子。
(嘿嘿,你懂的,疯狂暗示)
第一个添加的是 一颗剽悍的种子 的粉丝是54个。
第二个是 小李 粉丝是650个。
第三个是 小明 粉丝是666个。
第四个是 小美 粉丝是888个。
通过分数返回有序集合指定区间内的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
-inf和+inf显示整个有序集
(有序集成员按分数值递增(从小到大)次序排列)
(一颗剽悍的种子粉丝最少,你懂的,疯狂暗示,嘿嘿)
还可以增加可读性,增加多一个WITHSCORES的参数,带上分数。
还可以指定区间,小于665的粉丝,升序排序。
返回有序集中指定区间内的成员,通过索引,分数从高到低
ZREVRANGE key start stop [WITHSCORES]
(有序集成员按分数值递增(从大到小)次序排列)
移除有序集合中的一个或多个成员
ZREM key member [member …]
最后:
Redis之旅还在继续,Redis上手系列将持续更新!