【八】redis数据结构之zset有序集合,命令及时间复杂度

zset有序集合,元素不重复。

可用于排行榜(新旧程度排名,score可以用时间戳)

结构

key             score        value
rank            15             a

                   35             b

                   28             c

                   94             d

                   8               e

跟普通的set比起来,每一个element都多了一个score。score可以重复,element不能重复。

集合内命令

zadd key score element  向有序集合中添加score和element  时间复杂度 o(logN)

zscore key element 获取element的分数   时间复杂度o(1)

zincrby key increScore element 自增element的分数  时间复杂度o(1)

zcard key 返回有序集合中元素的个数  时间复杂度o(1)

zrank key element 获取元素排名,下标从0开始

ZREVRANK key member  获取元素排名,倒叙

zrange key start end [withscores]   查询有序集合成指定排名区间内的成员,下标从0开始   时间复杂度o(log(n)+m)

zrevrange key start stop [withscores]    查询有序集合成指定排名区间内的成员,倒叙,下标从0开始

zrangebyscore key minScore maxScore [withscores]  查询有序集合指定分数区间内的成员  时间复杂度o(log(n)+m)

zrevrangebyscore key maxScore minScore [withscores]  查询有序集合指定分数区间内的成员,倒叙

zcount key minScore maxScore   计算在有序集合中指定分数区间的成员数  时间复杂度o(log(n)+m)

zrem key element 删除有序集合中的element  时间复杂度o(1)

zremrangebyrank key start end 移除有序集合中给定的排名区间的所有成员,从0开始  时间复杂度o(log(n)+m)

zremrangebyscore key minScore maxScore   移除有序集合中给定的分数区间的所有成员  时间复杂度o(log(n)+m)

集合间命令

ZINTERSTORE destination numkeys key [key ...]   计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中

ZUNIONSTORE destination numkeys key [key ...]   计算给定的一个或多个有序集的并集,并存储在新的 key 中

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值