Redis zset(有序集合)
-
zadd key score1 member1 [score2 member]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
localhost:6379> zadd zset1 1 redis 2 mongoDB 3 mysql 4 mysql (integer) 3
返回添加成员的个数
-
zcard key
返回有序集合的成员数
localhost:6379> zcard zset1 (integer) 4
-
zcount key min max
计算在有序集合中指定区间分数的成员数
localhost:6379> zcount zset1 2 3 (integer) 1
-
zincrby key increment member
有序集合中对指定成员的分数自增量increment
localhost:6379> zincrby zset1 1 “redis”
“2”返回增加后的值
-
zinterstore destination numKeys key [key…]
destination:目标有序集合numKeys:有多少个key
计算给定的一个或多个有序集合的交集并将结果集存储在新的有序集合key中
localhost:6379> zrange zset1 0 -1 withscores
1) "mongoDB" 2) "2" 3) "redis" 4) "2" 5) "mysql" 6) "4" 7) "sqlserver" 8) "5" localhost:6379> zadd zset2 1 "mongoDB" 2 "mysql" 3 "redis" (integer) 3 localhost:6379> zinterstore ztarget1 2 zset1 zset2 (integer) 3 localhost:6379> zrange ztarget1 0 -1 withscores 1) "mongoDB" 2) "3" 3) "redis" 4) "5" 5) "mysql" 6) "6"
返回值:添加了多少个成员到目标集合中
-
zlexcount key min max
在有序集合中计算指定字典取件内成员变量
localhost:6379> zlexcount zset1 [a [z (integer) 4
返回字典区间的个数
-
zrange key start stop [withscores]
通过索引区间返回有序集合指定区间成员
localhost:6379> zrange zset1 0 -1 1) "mongoDB" 2) "redis" 3) "mysql" 4) "sqlserver"
-
zrangebylex key min max [limit offset count]
通过索引区间返回有序集合指定区间内的成员
localhost:6379> zadd zsetlex 0 a 1 b 2 c 3 d 4 e 5 f (integer) 6 localhost:6379> zrangebylex zsetlex [a [c 1) "a" 2) "b" 3) "c"
-
zrangebyscore key min max [withscores] [limit]
通过分数返回有序集合指定区间内的成员
localhost:6379> zrangebyscore zset1 0 10 1) "mongoDB" 2) "redis" 3) "mysql" 4) "sqlserver" localhost:6379> zrangebyscore zsetlex 0 9 withscores 1) "a" 2) "0" 3) "b" 4) "1" 5) "c" 6) "2" 7) "d" 8) "3" 9) "e" 10) "4" 11) "f" 12) "5"
-
zrank key member
返回有序集合中指定成员的索引
localhost:6379> zrank zset1 "mongoDB" (integer) 0 localhost:6379> zrank zset1 "redis" (integer) 1 localhost:6379> zrange zset1 0 -1 1) "mongoDB" 2) "redis" 3) "mysql" 4) "sqlserver"
-
zrem key member [member…]
移除有序集合中指定成员的索引
localhost:6379> zrange zset1 0 -1 1) "mongoDB" 2) "redis" 3) "mysql" 4) "sqlserver" localhost:6379> zrem zset1 "sqlserver" "mysql" (integer) 2 localhost:6379> zrange zset1 0 -1 1) "mongoDB" 2) "redis"
-
zremrangebylex key min max
移除有序集合中给定的字典区间的所有成员
localhost:6379> zremrangebylex zsetlex [a [c (integer) 3 localhost:6379> zrange zsetlex 0 -1 1) "d" 2) "e" 3) "f"
-
zremrangebyrank key start stop
一处集合中给定的排名取件的所有成员
localhost:6379> zadd salary 4000 HanMei 4500 ZhangSan 6000 XiangMaoHong (integer) 3 localhost:6379> zrange salary 0 -1 1) "HanMei" 2) "ZhangSan" 3) "XiangMaoHong" localhost:6379> zremrangebyrank salary 0 1 (integer) 2 localhost:6379> zrange salary 0 -1 withscores 1) "XiangMaoHong" 2) "6000"
返回删除成员个数
-
zremrangebyscore key min max
移除有序集合中给定的分数排名取件的所有成员
localhost:6379> zrange salary 0 -1 withscores 1) "HanMei" 2) "4000" 3) "ZhangSan" 4) "4500" 5) "XiangMaoHong" 6) "6000" 7) "wu" 8) "7000" localhost:6379> zremrangebyscore salary 4500 7000 (integer) 3 localhost:6379> zrange salary 0 -1 withscores 1) "HanMei" 2) "4000"
返回删除成员的个数
-
zreverange key start stop
返回有序集合中指定区间内的成员,通过索引,分数从高到低
localhost:6379> zrevrange zset1 0 -1 withscores 1) "hashmap" 2) "4" 3) "php" 4) "3" localhost:6379> zrange zset1 0 -1 withscores 1) "php" 2) "3" 3) "hashmap" 4) "4"
-
zrevrangebyscore key max min [withscores]
返回有序集合指定分数区间内的成员,分数从高到低
localhost:6379> zrevrangebyscore zset1 10 -1 withscores 1) "hashmap" 2) "4" 3) "php" 4) "3"
-
zrevrank key member
返回有序集合中指定成员的排名,有序集合成员按分数值递减(从小到大)排序
localhost:6379> zrevrank zset1 "hashmap" (integer) 0 localhost:6379> zrevrank zset1 "php" (integer) 1 localhost:6379> zrange zset1 0 -1 1) "php" 2) "hashmap"
-
zscore key member
localhost:6379> zscore zset1 "hashmap" "4" localhost:6379> zscore zset1 "php" "3"