在命令行中使用Redis客户端连接Redis服务器:
redis-cli -h 127.0.0.1 -p 7000
增加成员
ZADD
语法:ZADD key score member [[score member] [score member] ...].
ZADDredis命令key有序集合名score值 (可以是整数值或双精度浮点数)member键
这个命令也就是将键值对(member score)插入到有序集合key中. 如果集合不存在就创建一个集合,如果键已经存在就代替原来的值.
示例
1 | redis 127.0.0.1:7006> ZADD test1 10 a |
修改成员
ZINCRBY
语法ZINCRBY key increment member
ZINCRBYredis命令key有序集合名incrementscore值的增量member针对哪个成员进行改变
这个命令就是对某个成员进行增加或者减少(通过负数实现). (member 成员的新 score 值,以字符串形式表示)
示例
1 | redis 127.0.0.1:7006> zadd test1 23 t |
删除成员
ZREM
语法ZREM key member [member ...]
ZREMredis命令key有序集合名member成员名
移除有序集 key 中的一个或多个成员,不存在的成员将被忽略.
示例
1 | redis 127.0.0.1:7006> zcard test1 |
ZREMRANGEBYRANK
语法ZREMRANGEBYRANK key start stop
ZREMRANGEBYRANKredis命令key有序集合名start开始索引从0开始(默认闭区间,使用(表示开区间)stop结束索引从0开始(默认闭区间,使用(表示开区间)
移除有序集 key 中,指定排名(rank)区间内的所有成员.
示例
1 | redis 127.0.0.1:7006> ZREMRANGEBYRANK test1 1 2 # 将第二名和第三名移除 |
ZREMRANGEBYSCORE
语法ZREMRANGEBYSCORE key min max
ZREMRANGEBYSCOREredis命令key有序集合名min最小值(默认闭区间,使用(表示开区间)max最大值(默认闭区间,使用(表示开区间)
将集合key里的score值区间为[min,max]的成员删除
+和-在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZREMRANGEBYSCORE test1 10 20 |
合并集合
ZUNIONSTORE
语法ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
ZUNIONSTOREredis命令destination有序集合名numkeys需要合并的集合数量key需要合并的集合WEIGHTS指定该值,则在合并的时候,对每个score值都乘以该元素AGGREGATE指定并集的结果集的聚合方式
对多个集合采取并集
AGGREGATE有三种值:A. SUM,将相同的成员的score相加. MIN,取相同成员的最小score值. MAX,取相同成员的最大score值
示例
1 | redis 127.0.0.1:7006> zadd a 10 a1 20 a2 30 a3 40 a4 50 a5 |
ZINTERSTORE
语法ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
ZINTERSTOREredis命令destination有序集合名numkeys需要合并的集合数量key需要合并的集合WEIGHTS指定该值,则在合并的时候,对每个score值都乘以该元素AGGREGATE指定并集的结果集的聚合方式
对多个集合采取交集
AGGREGATE有三种值:A. SUM,将相同的成员的score相加. MIN,取相同成员的最小score值. MAX,取相同成员的最大score值
示例
1 | redis 127.0.0.1:7006> zadd h 1 a1 2 a2 |
获取集合数量
ZCARD
语法ZCARD key
ZCARDredis命令key有序集合名
获得集合大小
示例
1 | redis 127.0.0.1:7006> ZCARD test1 |
ZCOUNT
语法ZCOUNT key min max
ZCOUNTredis命令key有序集合名min最小值(默认闭区间,使用(表示开区间)max最大值(默认闭区间,使用(表示开区间)
这个命令就是统计score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量+和-在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZCOUNT test 10 50 |
获取集合列表
ZRANGE
语法ZRANGE key start stop [WITHSCORES]
ZRANGEredis命令key有序集合名start开始索引从0开始(默认闭区间,使用(表示开区间)stop结束索引从0开始(默认闭区间,使用(表示开区间)WITHSCORES同时也返回成员对应的值
返回有序集key中指定区间内的成员,得到的成员是递增(从小到大)排序的.
索引从0开始, 如果索引为负数则代表从倒序,即-1代表最后一个,-2代表倒数第二个. (
ZRANGE test1 0 -1 WITHSCORES显示整个有序集成员)
示例
1 | redis 127.0.0.1:7006> zrange test1 0 3 |
ZREVRANGE
语法ZREVRANGE key start stop [WITHSCORES]
ZREVRANGEredis命令key有序集合名start开始索引从0开始(默认闭区间,使用(表示开区间)stop结束索引从0开始(默认闭区间,使用(表示开区间)WITHSCORES输出score值
和ZRANGE命令不同的是它是从按 score 值递减(从大到小)来排列,其他和ZRANGE命令一样
示例
1 | redis 127.0.0.1:7006> ZREVRANGE test1 1 100 |
ZRANGEBYSCORE
语法ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
ZRANGEBYSCOREredis命令key有序集合名min最小值(默认闭区间,使用(表示开区间)max最大值(默认闭区间,使用(表示开区间)WITHSCORES输出score值LIMIT offset count
返回有序集key中,score值介于 [min, max]之间(闭区间)的成员,按 score 值递增(从小到大)次序排列
+和-在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZRANGEBYSCORE test1 10 56 WITHSCORES # 闭区间 |
ZREVRANGEBYSCORE
语法ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
ZREVRANGEBYSCOREredis命令key有序集合名min最小值(默认闭区间,使用(表示开区间)max最大值(默认闭区间,使用(表示开区间)WITHSCORES输出score值LIMIT offset count
除了成员按 score 值递减的次序排列这一点外, ZREVRANGEBYSCORE 命令的其他方面和 ZRANGEBYSCORE 命令一样.
+和-在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZREVRANGE test1 1 100 WITHSCORES |
ZRANGEBYLEX
语法ZRANGEBYLEX key min max [LIMIT offset count]
ZRANGEBYLEXredis命令key有序集合名min最小值(默认闭区间,使用(表示开区间)max最大值(默认闭区间,使用(表示开区间)
根据成员进行排序而不是根据score值排序,然后返回[min, max]区间内的成员
+和-在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZRANGEBYLEX test1 10 30 |
查询某个成员
ZRANK
语法ZRANK key member
ZRANKredis命令key有序集合名member成员值
返回有序集 key 中成员 member 的排名.其中有序集成员按 score 值递增(从小到大)顺序排列.(排名从0开始)
示例
1 | redis 127.0.0.1:7006> ZRANK test1 d |
ZREVRANK
语法ZREVRANK key member
ZREVRANKredis命令key有序集合名member成员值
除了成员按 score 值递减的次序排列这一点外, ZREVRANK 命令的其他方面和 ZRANK 命令一样.
示例
1 | redis 127.0.0.1:7006> ZREVRANK test1 c |
ZSCORE
语法ZSCORE key member
ZSCOREredis命令key有序集合名member成员
返回有序集 key 中,成员 member 的 score 值.
示例
1 | redis 127.0.0.1:7006> ZSCORE test1 a |