本文主要参考红丸出品的《Redis实战》,稳定版本为 2.2.12。
sorted sets 类型及操作
1.1 zadd
向 zset 中添加元素 member,score 用于排序。如果改元素已存在,则只更新 score 值。
zadd myzset 10 member
1.2 zrange
返回 zset 中的所有元素,参数 withscore 表示也返回 score 信息,并按照 score 从小到大排序,左边下标以 0 开始,右边下标 以 -1 开始。
zrange myzset 0 -1 withscores
1.3 zrem
删除 zset 中给定的元素。
zrem myzset member
1.4 zincrby
如果 zset 中已存在 member,则改元素的 score 增加给定的值,否则为给新 member 的 score 给定指定值。
zincrby myzset 10 member
1.5 zrank
返回 zset 中某个元素的排名,按照 score 从小到大排序,返回改元素对应下标。
zrank myzset member
1.6 zrevrank
返回 zset 中某个元素的排名,按照 score 从大到小排序,返回改元素对应下标。
zrevrank myzset member
1.7 zrevrange
返回 zset 中全部元素,参数 withscore 表示也返回 score 信息,并按照 score 从大到小排序,左边下标以 0 开始,右边下标 以 -1 开始。
zrevrange myzset 0 -1 withscores
1.8 zrangebyscore
返回 zset 中在给定 score 值区间的所有元素。
zrangebyscore myzset 10 20 withscores
1.9 zcount
返回 zset 中在给定 score 值区间的元素个数。
zcount myzset 10 20
1.10 zcard
返回 zset 中的元素个数。
zcard myzset
1.11 zscore
返回 zset 中给定 member 对应的 score。
zscore myzset member
1.12 zremrangebyrank
删除 zset 中排名在给定区间的所有元素,score 为从小到大排序,并且下标从 0 开始。
zremrangebyrank myzset 10 20
1.13 zremrangebyscore
删除 zset 中元素 score 在给定区间的所有元素。
zremrangebyscore myzset 10 20