文章目录
Redis中的ZSet(有序集合)类型的常用命令
ZSet类型的解释说明
ZSet集合和Set集合类型类似,只是在set的基础上,增加了一个score排序分值;
zadd和zrange和zrevrange命令
zadd zset集合的名字 score 元素 [score 元素2…]:此命令可以往zset集合中添加一个或者多个元素,与set集合类型相似,唯一不同的是zset集合中会给每个元素都添加一个score分数,zset集合中会根据每个元素的score分数给元素进行排序;
zrange zset集合的名字 起始下标 终止下标 [withscores]:此命令会先将zset集合中的元素根据score排序分按正序排列,然后根据起始下标和终止下标,输出特定段内的元素,其中withscores是可选字段,如果选上的话,输出的时候会连同score排序分一起输出;
zrevrange zset集合的名字 起始下标 终止下标 [withscores]:此命令会先将zset集合中的元素根据score排序分按倒叙排列,然后根据起始下标和终止下标,输出特定段内的元素,其中withscores是可选字段,如果选上的话,输出的时候会连同score排序分一起输出;
zrem命令
zrem zset有序集合的名字 有序集合里面的元素1 [元素2…]:此命令可以删除zset有序集合中的一个或者多个元素,使用情况如下图:
zscore命令
zscore zset有序集合 有序集合中的元素:此命令可以输出zset有序集合中指定元素的排序分值,如下图:
zincrby命令
zincrby zset有序集合的名字 增加的步长 有序集合中的元素:此命令可以为有序集合中的元素对应的score排序分加上特定的步长数,如下图:
zcard命令
zcard zset有序集合的名字:此命令返回指定的有序集合中的元素的个数,如下图:
zrank命令
zrank zset有序集合的名字 有序集合中的元素:此命令会先将有序集合中的元素根据score排序分升序排列,然后根据元素的位置输出元素的排名,如下图
zrevrank命令
zrevrank zset有序集合的名字 有序集合中的元素:此命令会先将有序集合中的元素根据score排序分降序排列,然后根据元素的位置输出元素的排名,如下图:
zrangebyscore和zrevrangebyscore命令
zrangebyscore zset集合的名字 元素对应的最低的排序分值 元素对应的最高的排序分值 [withscores]:此命令可以按照score排序分的范围,正序的输出zset集合中在排序分范围内的元素,其中withscores是可选值,如果选中的话输出zset集合中的元素时会连着排序分一同输出,如果不选的话,只输出zset集合中的元素,不会输出元素对应的排序分;
zrevrangebyscore zset集合的名字 元素对应的最高的排序分 元素对应的最低的排序分 [withscores]:此命令可以按照score排序分的范围,倒叙的输出zset集合中在排序分范围内的元素(注意此条命令中的排序分是先写大的再写小的),其中withscores是可选值,如果选中的话输出zset集合中的元素时会连着排序分一同输出,如果不选中的话,只会输出zset集合中的元素,不会输出元素对应的排序分;
上面的两条命令的使用如下图:
zrange和zrevrange这对命令与zrangebyscore和zrevrangebyscore这两对命令的异同点
异:zrange和zrevrange这两个命令是按照下标输出zset有序集合中的元素,而zrangebyscore和zrevrangebyscore这两个命令是按照zset有序集合中的排序分输出其中的元素;
同:这两对命令都可以输出zset有序集合中的元素;
zcount命令
zcount zset集合的名字 排序分的最小值 排序分的最大值:此命令可以输出指定zset有序集合中排序分在特定范围内的元素个数,如下图:
zremrangebyrank命令
zremrangebyrank zset集合的名字 最低排名 最高排名:此命令会先把zset有序集合中的元素根据score排序分由小到大排序,然后再根据后面的排名范围删除特定排名范围段内的元素,其中0代表排名第一,-1代表的是排名最后;
此命令的具体使用如下图:
zremrangebyscore命令
zremrangebyscore zset集合的名字 最低score排序分值 最高score排序分值:此命令会先把zset有序集合中的元素按照score排序分值从低到高排序,然后根据后面的score排序分值的范围删除特定范围段的集合元素;
上面的命令的使用如下图: