2.11有序集合

zset有序集合

特点 重要api 实战 查缺补漏

有序集合结构

key                       score      value
                        1        kris
                        91        mike
user:ranking            200        frank
                        220        chris
                        250        martin

特点

集合vs有序集合

集合

有序集合

无重复元素

无重复元素

无序

有序

element

element+score

列表vs有序集合

集合

有序集合

可以有重复元素

无重复元素

有序

有序

element

element+score

重要的API

命令

说明

时间复杂度

zadd key score element ....

添加score和element

O(logN)

zrem key element ...

删除元素

O(1)

zscore key element

返回元素的分数

O(1)

zincrby key increScore element

增加或减少元素的分数

O(1)

zcard key

返回集合总各数

O(1)

zrank key element

获取某个元素的排名(从小到大)

zrange key start end [withscores]

返回指定索引范围内的升序元素[分值]

O(log(n)+m)

zrangebyscore key minScore max Srore [WITHSCORES]

返回指定分数范围内的升序元素[分值]

O(log(n)+m)

zcount key minScore maxScore

返回指定分数范围内的元素个数

O(log(n)+m)

zremrangebyrank key start end

删除指定排名内的升序元素

O(log(n)+m)

zremrangebyscore key minScore max Srore

删除指定分数范围内的升序元素

O(log(n)+m)

不怎么使用的API

命令

说明

时间复杂度

zrevrank key element

获取某个元素的排名(从大到小),与zrank对比记忆

O(1)

zrevrange key start end [withscores]

zrevrangebyscore

集合操作

命令

说明

时间复杂度

zinterstore

交集

zunionstore

并集

说明:

n:集合的元素个数

m:范围间的元素个数

示例

后期补充

实战

  • 排行榜

Last updated

Was this helpful?