在命令行中使用Redis客户端连接Redis服务器:
redis-cli -h 127.0.0.1 -p 7000
增加成员
ZADD
语法:ZADD key score member [[score member] [score member] ...]
.
ZADD
redis命令key
有序集合名score
值 (可以是整数值或双精度浮点数)member
键
这个命令也就是将键值对(member score)插入到有序集合key中. 如果集合不存在就创建一个集合,如果键已经存在就代替原来的值.
示例
1 | redis 127.0.0.1:7006> ZADD test1 10 a |
修改成员
ZINCRBY
语法ZINCRBY key increment member
ZINCRBY
redis命令key
有序集合名increment
score值的增量member
针对哪个成员进行改变
这个命令就是对某个成员进行增加或者减少(通过负数实现). (member 成员的新 score 值,以字符串形式表示)
示例
1 | redis 127.0.0.1:7006> zadd test1 23 t |
删除成员
ZREM
语法ZREM key member [member ...]
ZREM
redis命令key
有序集合名member
成员名
移除有序集 key 中的一个或多个成员,不存在的成员将被忽略.
示例
1 | redis 127.0.0.1:7006> zcard test1 |
ZREMRANGEBYRANK
语法ZREMRANGEBYRANK key start stop
ZREMRANGEBYRANK
redis命令key
有序集合名start
开始索引从0开始(默认闭区间,使用(
表示开区间)stop
结束索引从0开始(默认闭区间,使用(
表示开区间)
移除有序集 key 中,指定排名(rank)区间内的所有成员.
示例
1 | redis 127.0.0.1:7006> ZREMRANGEBYRANK test1 1 2 # 将第二名和第三名移除 |
ZREMRANGEBYSCORE
语法ZREMRANGEBYSCORE key min max
ZREMRANGEBYSCORE
redis命令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]
ZUNIONSTORE
redis命令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]
ZINTERSTORE
redis命令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
ZCARD
redis命令key
有序集合名
获得集合大小
示例
1 | redis 127.0.0.1:7006> ZCARD test1 |
ZCOUNT
语法ZCOUNT key min max
ZCOUNT
redis命令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]
ZRANGE
redis命令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]
ZREVRANGE
redis命令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]
ZRANGEBYSCORE
redis命令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]
ZREVRANGEBYSCORE
redis命令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]
ZRANGEBYLEX
redis命令key
有序集合名min
最小值(默认闭区间,使用(
表示开区间)max
最大值(默认闭区间,使用(
表示开区间)
根据成员进行排序而不是根据score值排序,然后返回[min, max]区间内的成员
+
和-
在 min 参数以及 max 参数中表示正无限和负无限.
示例
1 | redis 127.0.0.1:7006> ZRANGEBYLEX test1 10 30 |
查询某个成员
ZRANK
语法ZRANK key member
ZRANK
redis命令key
有序集合名member
成员值
返回有序集 key 中成员 member 的排名.其中有序集成员按 score 值递增(从小到大)顺序排列.(排名从0开始)
示例
1 | redis 127.0.0.1:7006> ZRANK test1 d |
ZREVRANK
语法ZREVRANK key member
ZREVRANK
redis命令key
有序集合名member
成员值
除了成员按 score 值递减的次序排列这一点外, ZREVRANK 命令的其他方面和 ZRANK 命令一样.
示例
1 | redis 127.0.0.1:7006> ZREVRANK test1 c |
ZSCORE
语法ZSCORE key member
ZSCORE
redis命令key
有序集合名member
成员
返回有序集 key 中,成员 member 的 score 值.
示例
1 | redis 127.0.0.1:7006> ZSCORE test1 a |