Redis 有序集合类似 Redis 集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序 set 命令,从最小的到最大的分数有关。
Redis 有序 set 添加,删除和测试中的O(1)的存在成员(固定时间,无论里面包含的元素集合的数量)。
例子
redis 127.0.0.1:6379> ZADD tutorials 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 0
reids 127.0.0.1:6379> ZADD tutorials 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES
1)"redis"
2)"1"
3)"mongodb"
4)"2"
5)"mysql"
6)"4"
在上述例子中的三个值由命令 ZADD 插入其分数在 redis 排序集合并命名 tutorials。
Redis 排序命令集
如下表显示与排序集的一些基本命令:
S.N. | 命令&描述 |
1 |
ZADD key score1 member1 [score2 member2] 添加一个或多个成员到有序集合,或者如果它已经存在更新其分数 |
2 |
ZCARD key 得到的有序集合成员的数量 |
3 |
ZCOUNT key min max 计算一个有序集合成员与给定值范围内的分数 |
4 |
ZINCRBY key increment member 在有序集合增加成员的分数 |
5 |
ZINTERSTORE destination numkeys key [key ...] 多重交叉排序集合,并存储生成一个新的键有序集合 |
6 |
ZLEXCOUNT key min max 计算一个给定的字典范围之间的有序集合成员的数量 |
7 |
ZRANGE key start stop [WITHSCORES] 由索引返回一个成员范围的有序集合 |
8 |
ZRANGEBYLEX key min max [LIMIT offset count] 返回一个成员范围的有序集合(由字典范围) |
9 |
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 按分数返回一个成员范围的有序集合 |
10 |
ZRANK key member 确定成员的索引中有序集合 |
11 |
ZREM key member [member ...] 从有序集合中删除一个或多个成员 |
12 |
ZRENMRANGEBYLEX key min max 删除所有成员在给定的字典范围之间的有序集合 |
13 |
ZREMRANGEBYRANK key start stop 在给定的索引之内删除所有成员的有序集合 |
14 |
ZREMRANGEBYSCORE key min max 在给定的分数之内删除所有成员的有序集合 |
15 |
ZREVRANGE key start stop [WITHSCORES] 返回一个成员范围的有序集合,通过索引,以分数排序,从高分到低分 |
16 |
ZREVRANGEBYSCORE key max min [WITHSCORES] 返回一个成员范围的有序集合,按分数,以分数排序,从高分到低分 |
17 |
ZREVRANK key member 确定一个有序集合成员的索引,以分数排序,从高分到低分 |
18 |
ZSCORE key member 获取给定成员相关联的分数在一个有序集合 |
19 |
ZUNIONSTORE destination numkeys key [key ...] 添加多个集排序,所得排序集合存储在一个新的键 |
20 |
ZSCAN key cursor [MATCH pattern] [COUNT count] 增量迭代排序元素集合相关的分数 |