Skip to content

SortedSet

SortedSet 是一个可排序的 Set 集合,每个元素都带有一个 score 属性,可以基于 score 属性 对元素排序,底层的实现是一个跳表加哈希表。特性:

  • 可排序

  • 元素不重复

  • 查询速度快

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

常用命令

  • ZADD

    添加一个或多个成员并指定分数

    ZADD key score member ZADD foo 85 jack

  • ZREM

    ZREM foo jack

  • ZSCORE

    获取指定元素的 score 值

    ZSCORE foo A

  • ZRANK

    获取指定元素的排名,默认是升序的排名。

    ZRANK foo B ZREVRANK foo B

  • ZCARD

  • ZCOUNT

    统计 socre 值在给定范围内的所有元素的个数,包括边界。

    ZCOUNT foo min max ZCOUNT foo 0 80

  • ZINCRBY

    让指定元素以指定的步长自增

    ZINCRBY foo 2 A

  • ZRANGE

    按照 score 升序排序后,获取指定排名范围内的元素,0 是排序后的第一个。

    ZRANGE foo min max ZRANGE foo 0 3 ZREVRANGE foo 0 3

  • ZRANGEBYSCORE

    安装 score 排序后,获取指定 score 范围内的元素。

    ZRANGEBYSCORE foo min max ZRANGEBYSCORE foo 1 2

  • ZINTER

  • ZDIFF

  • ZUNION

所有的排名默认都是升序,如果要降序则在命令的 Z 后面添加 REV 即可,如 ZREVRANGE。