美文网首页
Reids数据类型Zset

Reids数据类型Zset

作者: 风雪_夜归人 | 来源:发表于2023-10-27 18:18 被阅读0次

    Zset有序集合

    简介

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

    原理

    类似于SortedSet和HashMap结合,内部实现是一种叫“跳跃列表”的数据结构。通过层级制,将元素分层并串联,每隔几个元素选出一个代表,再将代表使用另外一级指针串起来,以此类推,形成金字塔结构。同一个元素在不同层级之间身兼数职,是为“跳跃”。新元素插入时,逐层下潜,直到找到合适的位置。

    命令

    1.读写操作:
    zadd 创建zset的元素值,每个元素值都包含,<key,value>
    使用方式:zadd zset1 key1 value1 key2 value2 key3 value3
    zrange set1 start end 指定在start到end的范围内查看元素
    如果要查看分数,加上withscores 使用方式 zrange set1 start end withscores
    zrangebyscore zset1 80 100 取 80~100的数据,带上括号就排除该数
    支持limit分页 limit + offset(偏移量) + num(返回的数量)
    zrem set1 value 删除指定的值


    image.png

    2.统计操作
    zcar zset1 统计元素个数
    zcount zset1 minscore maxscore 统计给定分数范围内的元素个数
    zscore key member 查询指定成员的分数
    zrank key member 返回指定成员的索引位置
    zrevrank key member 与 zrank key member 顺序取反
    zrevrange 与 zrange set1 start end 顺序相反

    zrevrangebyscore zset1 80 100 与 zrangebyscore zset1 80 100 顺序相反


    image.png

    相关文章

      网友评论

          本文标题:Reids数据类型Zset

          本文链接:https://www.haomeiwen.com/subject/puudidtx.html