Redis有序集合
Redis有序集合类似Redis集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关。
Redis 有序set添加,删除和测试中的O(1)的存在成员(固定时间,无论里面包含的元素集合的数量)。列表的最大长度为232- 1元素(4294967295,超过4十亿每个元素的集合)。
例子
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 redis 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 | ZREMRANGEBYLEX 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] 增量迭代排序元素集和相关的分数 |
PS:如果您想和业内技术大牛交流的话,请加qq群(521249302)或者关注微信公众 号(AskHarries),谢谢!