Redis 的 zset 是 set 的有序版。
在 set 基础上,加一个 score 值,就是通过这个 score 值来实现的有序。
之前 set 是 k1 v1 v2 v3
现在 zset 是 k1 score1 v1 score2 v2
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
向 zset01 中添加 v1,v2,v3,v4,v5 这 5 个元素,前面的数字就是 score,用来排序:zrange zset01 0 -1 withscores
列出 zset01 中的所有元素以及它们对应的 score:zrangebyscore zset01 60 80
按照 score 来取 zset01 中的元素(范围:[60, 80]):zrangebyscore zset01 60 80 withscores
按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]):zrangebyscore zset01 60 80 withscores limit 1 2
按照 score 来取 zset01 中的元素,并显示 score(范围:[60, 80]),并分页,从第二条开始,选取两条:扫描二维码关注公众号,回复: 2557896 查看本文章zrem zset01 v1 v2
删除 zset01 中的 v1 和 v2 两个元素:zcard zset01
获取 zset01 中的元素的个数:zcount zset01 60 80
根据分值统计 zset01 中的元素个数:
注:默认是闭区间,也就是大于等于 60,小于等于 80。zcount zset01 (60 (80
根据分值统计 zset01 中的元素个数:
注:数字前加个 “(” 对应那个值就是开区间,大于 60,小于 80。zrank zset01 v1
获取 zset01 中 v1 所对应的下标值:zscore zset01 v1
获取 zset01 中 v1 的 score 值:zrevrank zset01 v4
获取 zset01 中 v4 对应的索引值(逆序,最后一个是 0):zrevrange zset01 0 2
获取 zset01 中下标值范围为 [0, 2] 范围内的元素(逆序):zrevrangebyscore zset01 90 60
在 zset01 中按照分数逆序排序([60, 90]):