Skip to content

SortedSet 类型

概述

Redis 的 sortedSet 是一个可排序的 set 集合,sortedSet 中每一个元素都带有一个 score 属性,可基于 score 属性对元素进行排序,底层的实现是一个跳表(SkipList)加 Hash 表

特征

  • 可排序
  • 元素不重复
  • 查询速度快

因为 SortedSet 的可排序特性,经常被用来实现排行榜这样的功能

常见命令

  • zadd key score member:添加一个或多个元素到 sorted set,如果已经存在则更新其 score 值

  • zrem key member:删除 sorted set 中的一个指定元素

  • zscore key member:获取 sorted set 中的指定元素的 score 值

  • zrank key member:获取 sorted set 中的指定元素的排名, (注意:排名是从 0 开始,且默认升序)

  • zcard key:获取 sorted set 中的元素个数

  • zcount key min max:统计 score 值在给定范围内的所有元素的个数

  • zincrby key increment member:让 sorted set 中的指定元素自增,步长为指定的 increment 值

  • zrange key min max:按照 score 排序后,获取指定排名范围内的元素

  • zrangebyscore key min max:按照 score 排序后,获取指定 score 范围内的元素

  • zdiff:求差集

  • zinter:求交集

  • zunion:求并集

特别注意

  • member指元素本身
  • score使用来排序的
  • 所有的排名默认都是升序,若是要降序排序,则要在命令的z后面加上rev(reverse)即可,例如:zrevincrby key 2 member