当前位置:   article > 正文

Redis中有序集合zset数据类型_redis zset

redis zset

        Zset与Set非常相似,是一个没有重复元素的String集合。不同之处是Zset的每个元素都关联了一个分数(score),这个分数被用来按照从低分到高分的方式排序集合中的元素。集合的元素是唯一的,但分数可以重复。 

  • sorted set,有序集合
  • 元素为string类型
  • 元素具有唯⼀性,不重复   【值不能重复】
  • 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序
  • 说明:没有修改操作

注意:

  • 因为元素是有序的,所以可以根据分数(score)或者次序(position)来获取一个范围内的元素。 

使用场景:

  • 延时队列
  • 排行榜
  • 限流 

1、增加

1.1 添加   【先写权重】【可更新覆盖】

        将一个或多个元素(value)及分数(score)加入到有序集key中。

zadd key score1 member1 score2 member2 ...

向键zset的集合中添加元素lisiwangwuzhangsan,权重分别为4、5、3

zadd zset 4 lisi 5 wangwu 3 zhangsan

注意

  • 如果某个元素已经是有序集的元素,那么更新这个元素的分数值,并通过重新插入这个元素,来保证该元素在正确的位置上。
  • 分数值可以是整数值或双精度浮点数。
  • 如果有序集合 key 不存在,则创建一个空的有序集并执行 zadd 操作。

1.2 zincrby操作

        为元素value的score加上increment的值。

zincrby key increment value

2、获取

2.1 返回指定范围内的元素

  • 返回key集合中的索引start和索引end之间的元素(包含startend)。
  • start、stop为元素的下标索引
  • 索引从左侧开始,第⼀个元素为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素

  • 逆序的话,为zrevrange

zrange key start stop

获取键zset的集合中所有元素:

zrange zset 0 -1

2.2 列出所有元素及它们对应的score

zrange key start end withscores

注意

  • 其中元素的位置按分数值递增(从小到大)来排序。 其中 0 表示列表的第一个元素,-1表示最后一个元素。
  • withscores是可选参数,是否返回分数。 

2.3 返回score值在minmax之间的成员

        返回key集合中的分数minscore 和分数maxscore 之间的元素(包含minscore 和maxscore )。其中元素的位置按分数值递增(从小到大)来排序。

zrangebyscore key min max

获取键zset的集合中权限值在5和6之间的成员:

zrangebyscore zset 5 6

2.4 返回成员memberscore

zscore key member

获取键zset的集合中元素zhangsan的权重:

zscore zset zhangsan

2.5 分页 limit

zrangebyscore zset 0 5 withscores limit 1 2

2.6 获取集合中的个数

zcard zset

2.7 统计分值范围内的元素个数  【默认指闭区间】

        统计该集合在minscore 到maxscore分数区间中元素的个数。

zcount zset 4 5

2.8 统计分值范围内的元素个数  【开区间】 

数字前加个 “(” 对应那个值就是开区间。

zcount zset (4 (6

2.9 获取对应的下标值

        返回value在集合中的排名,从0开始。

zrank zset lisi

2.10 获取对应的下标值(逆序)

zrevrank zset zhangsan

3、删除

3.1 删除指定元素

        删除该集合下value的元素。

zrem key member1 member2 ...

删除集合zset中元素zhangsan:

zrem zset zhangsan

3.2 删除权重在指定范围的元素  【包括最小值和最大值的】

zremrangebyscore key min max

删除集合zset中权限在5、6之间的元素:

zremrangebyscore zset 5 6

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/432679
推荐阅读
相关标签
  

闽ICP备14008679号