第9课:zset数据类型

sorted set(zset)是set类型的升级版,只是在set的基础上增加了元素的顺序控制,可以方便的进行排序,分页
不允许重复的成员
zset与set两者的主要区别是zset的每一个成员都会有一个分数(score)与之关联.redis正是通过分数来为集合中的成员进行从小到大的排序.zset的成员是唯一的,但分数(score)却可以重复

应用场景:
适合于需要按照某字段排序显示的场景,比如排行榜

常用命令:
1.zadd
语法:zadd key score member [[score] [member] …]
解释:将一个或多个 member 元素及其 score 值加入到有序集 key 当中.如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。score 值可以是整数值或双精度浮点数。如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误
zadd zset_list 11 test1

2.zrem
语法:ZREM key member [member ...]
解释:移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。当key存在但不是有序集类型时,返回一个错误
zrem zset_list test1

3.zcard
语法:zcard key
解释:返回zset集合的成员数
zcard zset_list

4.zscore
语法:ZSCORE key member
解释:返回有序集key中,成员member的score值
zscore zset_list test2

5.zincrby
语法:ZINCRBY key increment member
解释:为有序集 key 的成员member的score值加上增量increment 
zincrby zset_list 10 test2

6.zrange
语法:ZRANGE key start stop [WITHSCORES]
解释:返回指定区间的成员。其中成员位置按 score 值递增(从小到大)来排序。 WITHSCORES选项是用来让成员和它的score值一并返回.(在前面我们已经用到过)
zrange zset_list 0 -1 withscores