3.05-Redis数据类型zset(sorted set:有序集合)

Redis数据类型zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。

常用命令

ZADD

ZADD key-name score member [score member …] 将带有指定分值的成员添加到有序集合里面
例如:

127.0.0.1:6379> zadd zset1 0 a 1 b 2 c
(integer) 3
ZREM

ZREM key-name member [member …] 从有序集合中移除指定成员并返回移除的成员数量。
例如:

127.0.0.1:6379> zrem zset1 a
(integer) 1
ZCARD

ZCARD key-name 返回有序集合包含的成员数量
例如:

127.0.0.1:6379> zcard zset1
(integer) 2
ZINCRBY

ZINCRBY key-name increment member 将member成员的分值增加increment,并返回member增加后的分值
例如:

127.0.0.1:6379> zincrby zset1 3 b
"4"
ZCOUNT

ZCOUNT key-name min max 返回分值介于min max 之间的成员数量
例如:

127.0.0.1:6379> zcount zset1 0 100
(integer) 2
ZRANK

ZRANK key-name member 返回成员member在有序集合中的排名
例如:

127.0.0.1:6379> zrank zset1 c
(integer) 0
ZSCORE

ZSCORE key-name member 返回成员member的分值
例如:

127.0.0.1:6379> zscore zset1 b
"4"
ZRANGE

ZRANGE key-name start stop [WITHSCORES]返回有序集合中排名介于start和stop之间的成员,如果有可选参数WITHSCORES,则同时返回分值
例如:

127.0.0.1:6379> zrange zset1 0 1
1) "c"
2) "b"
127.0.0.1:6379> zrange zset1 0 1 WITHSCORES
1) "c"
2) "2"
3) "b"
4) "4"
ZREVRANK (rev:reverse反转)

ZREVRANK key-name member 返回有序集合成员member的排名,成员按照分值从大到小排序
例如:

127.0.0.1:6379> zrevrank zset1 c
(integer) 1
ZREVRANGE

ZREVRANGE key-name start stop [WITHSCORES]返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
例如:

127.0.0.1:6379> zrevrange zset1 0 1 WITHSCORES
1) "b"
2) "4"
3) "c"
4) "2"
ZRANGEBYSCORE

ZRANGEBYSCORE key-name min max [WITHSCORES]返回分值介于min和max之间的成员
例如:

127.0.0.1:6379> zrangebyscore zset1 0 100 WITHSCORES
1) "c"
2) "2"
3) "b"
4) "4"
ZREVRANGEBYSCORE

ZREVRANGEBYSCORE key-name max min [WITHSCORES]返回分值介于min和max之间的成员,成员按照分值从大到小排列
例如:

127.0.0.1:6379> zrevrangebyscore zset1 100 0 WITHSCORES
1) "b"
2) "4"
3) "c"
4) "2"
ZREMRANGEBYRANK

ZREMRANGEBYRANK key-name start stop 移除有序集合中排名介于start和stop之间的成员
例如:

127.0.0.1:6379> zremrangebyrank zset1 0 0
(integer) 1
127.0.0.1:6379> zrange zset1 0 2 WITHSCORES
1) "b"
2) "4"
ZREMRANGEBYSCORE

ZREMRANGEBYSCORE key-name min max 移除有序集合中分值介于min和max之间的成员
例如:

127.0.0.1:6379> zremrangebyscore zset1 1 2
(integer) 0
127.0.0.1:6379> zremrangebyscore zset1 3 4
(integer) 1
127.0.0.1:6379> zrange zset1 0 2 WITHSCORES
(empty array)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值