一、Zset有序集合介绍

  1. Zset是一个没有重复元素的字符串集合。与set类型的不同之处是有序集合的每个成员都关联了一个评分( score) ,这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复的。
  2. 因为元素是有序的,所以可以很快的根据评分( score )或者次序( position )来获取一个范围的元素。
  3. 访问有序集合的中间元素也是非常快的,因此能够使用有序集合作为一个没有重复成员的智能列表。

二、常用命令以及示例

1、添加,如果值存在添加,将会重新排序。zadd

2、查看zset集合的成员个数。zcard

添加5个zset元素
在这里插入图片描述

3、查看Zset指定范围的成员,withscores为输出结果带分数。zrange

在这里插入图片描述

4、获取zset成员的下标位置,如果值不存在返回null。zrank

user2在zset集合中的下标位置为1
在这里插入图片描述

5、获取zset集合指定分数之间存在的成员个数。zcount

查询zset集合中分数居于2和4(包括2和4)之间成员的个数
在这里插入图片描述

6、删除指定的一个成员或多个成员。zrem

在这里插入图片描述

7、获取指定值的分数。zscore

在这里插入图片描述

8、给指定元素的分数进行增减操作,负值为减,正值为加。zincrby

在这里插入图片描述

9、根据指定分数的范围获取值。zrangebysocre

检索分数为2到4之间的数据
在这里插入图片描述
检索分数为2到4之间的数据,然后从下标为1的数据往后输出3个数据,包含下标为1的数据在这里插入图片描述
+inf表示最后一个成员,-inf表示第一个成员,意思是:检索所有数据,然后从下标为1的数据开始再往后输出3个数据
在这里插入图片描述

10、倒序,从高到底排序输出指定范围的数据。zrevrange,zrevrangebyscore

先倒序排列数据,输出分数>=1 and <=3的数据
在这里插入图片描述
先倒序排列数据,获取分数>=1 and <=3的数据,从下标为1开始输出两条数据
在这里插入图片描述

11、根据坐标,分数范围删除数据。zremrangebyscore,zremrangebyrank

删除分数>=1 and <=2的数据
在这里插入图片描述

12、取出zset集合中分数最小的n条数据 zpopmin

取出zset集合中分数最小的3条数据
在这里插入图片描述

13、取出zset集合中分数最大的n条数据 zpopmax

取出zset集合中分数最小的1条数据
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐