Redis 与 zset(sorted set) 相关的常用命令

Redis 的 zset 是 set 的有序版。
在 set 基础上,加一个 score 值,就是通过这个 score 值来实现的有序。
之前 set 是 k1 v1 v2 v3
现在 zset 是 k1 score1 v1 score2 v2

  1. zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 向 zset01 中添加 v1,v2,v3,v4,v5 这 5 个元素,前面的数字就是 score,用来排序:

    这里写图片描述

  2. zrange zset01 0 -1 withscores 列出 zset01 中的所有元素以及它们对应的 score:

    这里写图片描述

  3. zrangebyscore zset01 60 80 按照 score 来取 zset01 中的元素(范围:[60, 80]):

    这里写图片描述

  4. zrangebyscore zset01 60 80 withscores 按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]):

    这里写图片描述

  5. zrangebyscore zset01 60 80 withscores limit 1 2 按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]),并分页,从第二条开始,选取两条:

    这里写图片描述

  6. zrem zset01 v1 v2 删除 zset01 中的 v1 和 v2 两个元素:

    这里写图片描述

  7. zcard zset01 获取 zset01 中的元素的个数:

    这里写图片描述

  8. zcount zset01 60 80 根据分值统计 zset01 中的元素个数:

    这里写图片描述
    注:默认是闭区间,也就是大于等于 60,小于等于 80。

  9. zcount zset01 (60 (80 根据分值统计 zset01 中的元素个数:

    这里写图片描述
    注:数字前加个 “(” 对应那个值就是开区间,大于 60,小于 80。

  10. zrank zset01 v1 获取 zset01 中 v1 所对应的下标值:

    这里写图片描述

  11. zscore zset01 v1 获取 zset01 中 v1 的 score 值:

    这里写图片描述

  12. zrevrank zset01 v4 获取 zset01 中 v4 对应的索引值(逆序,最后一个是 0):

    这里写图片描述

  13. zrevrange zset01 0 2 获取 zset01 中下标值范围为 [0, 2] 范围内的元素(逆序):

    这里写图片描述

  14. zrevrangebyscore zset01 90 60 在 zset01 中按照分数逆序排序([60, 90]):

    这里写图片描述

猜你喜欢

转载自blog.csdn.net/a909301740/article/details/81321133