redis学习笔记-----基本数据类型之有序集合
有序集合(sort sets)
- 与集合类型,区别是集合不能字段排序,而有序集合可以设置额外的优先级(score)参数来为成员排序。
- 使用场景:当你需要一个有序并且不重复的集合列表的时候,使用有序集合。
ZADD
- 将一个或多个元素以及其 score 值加入到 key 中。
- 如果某个元素已经在有序集合中,则更新该元素的 score 值。
- score 值可以是整数或双精度浮点数。
1 | 127.0.0.1:6379> zadd language 100 php 90 java 80 js |
ZCARD
- 返回有序集合 key 的值得个数
- 如果 key 不存在,则返回 0
1 | 127.0.0.1:6379> zcard language |
ZCOUNT
- 返回有序集合 key 中,score 的值在 min 和 max 直接的成员个数。(包含 min 和 max)
- 如果在统计时,不需要包含某个 score时 ,则添加一个 ( 即可。
1 | 127.0.0.1:6379> zcount language 80 100 |
ZSCORE
- 返回有序集合 key 中,成员的score值
1 | 127.0.0.1:6379> zscore language php |
ZRANGE
- 格式:zrange key start stop [withscores]
- 根据索引返回元素
- withscores 参数可以连同元素的 score 一起返回。
- start 为 0,stop 为 -1,即可返回整个有序集合。
1 | 127.0.0.1:6379> zrange language 0 2 |
ZREVRANGE
- 同 zrange 基本一致,区别是 zrevrange 是反者来的。
1 | 127.0.0.1:6379> zrevrange language 0 2 |
ZRANGEBYSCORE
- 返回有序集合 key 中,score 的值在 min 和 max 直接的成员。(包含 min 和 max)
- 如果不需要包含某个 score时 ,则添加一个 ( 即可。
1 | 127.0.0.1:6379> zrangebyscore language 80 100 |
ZRANK
- 返回有序集合 key 中成员 member 在集合中的排名序号。(排名按 score 值从小到大的顺序)。
- 排名序号从 0 开始。(即 序号为 0 的 score 值最小)
1 | 127.0.0.1:6379> zrank language php |
ZREVRANK
- 同上面的 zrank。区别是 zrevrank 的排序是从大到小
1 | 127.0.0.1:6379> zrevrank language php |
ZINCRBY
- 格式:zincrby key increment member
- 向有序集合 key 中的成员 member 的 score 值进行增加。
- 如果 key 中不存在 member,则在 key 中创建一个 member,并且该 member 的 score 为 设置的值。
1 | 127.0.0.1:6379> zincrby language 100 php |
ZREM
- 从集合中删除指定 member。
1 | 127.0.0.1:6379> zrem language python |
redis学习笔记-----基本数据类型之有序集合
http://blog.xiangdangnian.net.cn/2019/12/26/redis学习笔记-基本数据类型之有序集合/