十三、Redis 有序集合(sorted set) 命令
Redis 有序集合(sorted set)
Redis sorted set 和 set 一样也是 string 类型元素的集合,且不允许重复的成员
Redis sorted set 的每个元素都会关联一个 double 类型的分数(score)
Redis sorted set 通过分数(score) 来为集合中的成员进行从小到大的排序
Redis sorted set(有序集合) 的成员是唯一的,但分数 (score) 却可以重复
Redis sorted set 是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
Redis sorted set 中最大的成员数为 232 – 1
范例
127、0.0.1:6379> ZADD language 1 PHP
(integer) 1
127、0.0.1:6379> ZADD language 2 Python
(integer) 1
127、0.0.1:6379> ZADD language 3 Ruby
(integer) 1
127、0.0.1:6379> ZADD language 3 Perl
(integer) 0
127、0.0.1:6379> ZADD language 4 Perl
(integer) 0
127、0.0.1:6379> ZRANGE language 0 10 WITHSCORES
1) "PHP"
2) "1"
3) "Python"
4) "2"
5) "Ruby"
6) "3"
7) "Perl"
8) "4"
上面的范例,我们通过 ZADD 命令向 Redis 的有序集合中添加了三个值并关联上分数
Redis 有序集合命令
下表列出了 Redis 有序集合的基本命令
| 命令 | 描述 |
|---|---|
| ZADD | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
| ZCARD | 获取有序集合的成员数 |
| ZCOUNT | 计算在有序集合中指定区间分数的成员数 |
| ZINCRBY | 有序集合中对指定成员的分数加上增量 increment |
| ZINTERSTORE | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中 |