Redis 有序集合

Posted 大尾巴狼的IT技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 有序集合相关的知识,希望对你有一定的参考价值。

 

有序集合?

Redis的有序集合中,每个成员有两个属性。

一个是这个成员的名:MEMBER_NAME;

一个是这个成员的值:MEMBER_SCORE。

 

1、ZADD 命令


 

用于将带有给定分值的成员添加到有序集合里面。

如果输入的成员存在于该有序集合,并且该成员分值发生变化时,则更新这个分值。

分值可以是整数值或双精度浮点数。

如果指定的有序集合不存在,则创建一个空的有序集合执行ZADD操作。

127.0.0.1:6379> ZADD key [NX|XX] [CH] [INCR] score member [score member ...]

例如,

127.0.0.1:6379> ZADD KEY 1 "A"
(integer) 1
127.0.0.1:6379> ZADD KEY 2 "B"
(integer) 1
127.0.0.1:6379> ZRANGE KEY 0 -1
1) "A"
2) "B"
127.0.0.1:6379> ZRANGE KEY 0 -1 withscores
1) "A"
2) "1"
3) "B"
4) "2"

 

2、ZCARD 命令


 

用于返回有序集合包含的成员数量。

127.0.0.1:6379> ZCARD KEY

例如,

127.0.0.1:6379> ZCARD KEY
(integer) 2
127.0.0.1:6379> ZCARD KEY
(integer) 2
127.0.0.1:6379> ZADD ZSET 1.0 "A"
(integer) 1
127.0.0.1:6379> ZADD ZSET 2.0 "B"
(integer) 1
127.0.0.1:6379> ZADD ZSET 3.0 "C"
(integer) 1
127.0.0.1:6379> ZCARD ZSET
(integer) 3

 

3、ZCOUNT 命令


 

用于返回分值介于MIN和MAX之间的成员数量。

127.0.0.1:6379> ZCOUNT KEY MIN MAX 

例如,

127.0.0.1:6379> ZADD ZSET 1.0 "A"
(integer) 1
127.0.0.1:6379> ZADD ZSET 2.0 "B"
(integer) 1
127.0.0.1:6379> ZADD ZSET 3.0 "C"
(integer) 1
127.0.0.1:6379> ZCARD ZSET
(integer) 3
127.0.0.1:6379> ZCOUNT ZSET 1 3
(integer) 3
127.0.0.1:6379> ZCOUNT ZSET 1.2 2.5
(integer) 1
127.0.0.1:6379> ZCOUNT ZSET 0.8 2.5
(integer) 2

 

 

4、ZINCRBY 命令


 

用于对有序集合中指定成员的分值加上指定的增量(Increment)。

增量可以正数或负数,为负数的情况时,表示相应的成员的分值减去该增量。

如果指定的KEY不存在,执行该命令会创建一个名为KEY的有序集合。

如果指定的KEY不是一个有序集合时,返回一个错误说明。

127.0.0.1:6379> ZINCRBY KEY INCREMENT MEMBER 

例如,

127.0.0.1:6379> ZINCRBY ZSET 5 "A"
"11"
127.0.0.1:6379> ZRANGE ZSET 0 -1 withscores
1) "B"
2) "2"
3) "C"
4) "3"
5) "A"
6) "11"
127.0.0.1:6379> ZINCRBY ZSET 5 B
"7"
127.0.0.1:6379> ZRANGE ZSET 0 -1 withscores
1) "C"
2) "3"
3) "B"
4) "7"
5) "A"
6) "11"

 

 

5、ZINTERSTORE 命令

 

 

 

6、ZLEXCOUNT 命令

 

 

 

 

7、ZRANGE 命令

 

 

 

8、ZRANGEBYLEX 命令

 

 

 

 

 

9、ZRANGEBYSCORE 命令

 

 

 

10、ZRANK 命令

 

 

 

 

11、ZREM 命令

 

 

 

12、ZREMRANGEBYLEX 命令

 

 

 

 

13、ZREMRANGEBYRANK 命令

 

 

 

14、ZREMRANGEBYSCORE 命令

 

 

 

 

15、ZREVRANGE 命令

 

 

 

 

 

 

 

16、ZRECRANGEBYSCORE 命令

 

 

 

 

 

 

 

17、ZREVRANK 命令

 

 

 

 

 

18、ZSCORE 命令

 

 

 

 

 

19、ZUNIONSTORE 命令

 

 

 

 

 

 

20、ZSCAN 命令

 

以上是关于Redis 有序集合的主要内容,如果未能解决你的问题,请参考以下文章

redis有序集合性能 列表集合有序集合

redis 系列14 有序集合对象

15天玩转redis —— 第六篇 有序集合类型

Redis数据操作之有序集合 | Redis

Redis中有序集合的常用命令有哪些?

Redis---Redis操作之有序集合