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 有序集合的主要内容,如果未能解决你的问题,请参考以下文章