学习Redis五种类型之一的Zset之前,我还是觉得我务必跟你说一声,也是在我文章之中说的很多的一句话,我想也会适用于学习Redis,那就是在接触文章里的Reids命令时,不用试图去记这些命令 ,用到时去看API帮助文档即可;会用了或者实践过了再去了解也不会迟

在Redis中会发现一个有趣的 套路

Zset有序集合和集合一样也是string类型元素的集合,不允许重复的成员。

区别是每个元素会关联一个double类型的分数。Zset是通过分数来为集合中的成员进行从小到大排序。

(简单的理解Zset就是比Set多一个值)

有序集合的成员是唯一的,但分数(score)却可以重复。

有序集合添加一个或多个成员,或者更新已存在成员的分数

ZADD key score1 member1 [score2 member2]

redis下Zset类型的失效时间 zset redis_字符串


redis下Zset类型的失效时间 zset redis_redis下Zset类型的失效时间_02


获取有序集合的成员数

ZCARD key

redis下Zset类型的失效时间 zset redis_字符串_03


通过索引区间返回有序集合指定区间内的成员

ZRANGE key start stop [WITHSCORES]

redis下Zset类型的失效时间 zset redis_Redis_04


作为有序集合Zset,排序肯定是最核心的。

下面举个实现Zset排序。

博主csdn粉丝 的小栗子。

(嘿嘿,你懂的,疯狂暗示)

第一个添加的是 一颗剽悍的种子 的粉丝是54个。

第二个是 小李 粉丝是650个。

第三个是 小明 粉丝是666个。

第四个是 小美 粉丝是888个。

redis下Zset类型的失效时间 zset redis_redis_05

通过分数返回有序集合指定区间内的成员

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]

-inf和+inf显示整个有序集

(有序集成员按分数值递增(从小到大)次序排列)

(一颗剽悍的种子粉丝最少,你懂的,疯狂暗示,嘿嘿)

redis下Zset类型的失效时间 zset redis_redis_06


还可以增加可读性,增加多一个WITHSCORES的参数,带上分数。

redis下Zset类型的失效时间 zset redis_字符串_07

还可以指定区间,小于665的粉丝,升序排序。

redis下Zset类型的失效时间 zset redis_Redis_08


返回有序集中指定区间内的成员,通过索引,分数从高到低

ZREVRANGE key start stop [WITHSCORES]

(有序集成员按分数值递增(从大到小)次序排列)

redis下Zset类型的失效时间 zset redis_有序集合_09


移除有序集合中的一个或多个成员

ZREM key member [member …]

redis下Zset类型的失效时间 zset redis_Redis_10


最后:

Redis之旅还在继续,Redis上手系列将持续更新!