Redis (九)——有序集合(sorted set)

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

就是在set的基础上,加上了一个score值,之前是set key v1 v2 v3,现在zset是key score1 v1 score v2.

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

1、zadd key score1 member1 [score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
2、zrange key start stop [WITHSCORES] :通过索引区间返回有序集合指定区间内的成员
在这里插入图片描述
3、zrangebyscore key min max [WITHSCORES] [LIMIT]:通过分数返回有序集合指定区间内的成员
在这里插入图片描述
默认是包含的,在分数前面加个(即为不包含:
在这里插入图片描述
另外结尾加limit 可以限制返回。

4、zrem key value :移除有序集合中的一个或多个成员
在这里插入图片描述
5、zcard key :获取有序集合的成员数
在这里插入图片描述
6、zcount key score1 score2:统计某一分数区间的值:
在这里插入图片描述
7、zrank key member:返回有序集合中指定成员的索引
在这里插入图片描述
8、zscore key value :返回某个值对应的分数
在这里插入图片描述
9、 zrevrank key member:返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
在这里插入图片描述
逆序后下标是0

10、zrevrange key start stop [WITHSCORES]:返回有序集中指定区间内的成员,通过索引,分数从高到低
在这里插入图片描述
11、zrevrangebyscore key score1 score2:返回有序集中指定分数区间内的成员,分数从高到低排序
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值