1. 程式人生 > >Redis 有序集合

Redis 有序集合

集合 給定 之間 rst 如果 精度 union 指定 1.0

有序集合?

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 有序集合