美文网首页
Redis 数据结构之zset有序集合

Redis 数据结构之zset有序集合

作者: Devops海洋的渔夫 | 来源:发表于2019-08-19 12:55 被阅读0次

    zset类型

    • sorted set,有序集合
    • 元素为string类型
    • 元素具有唯⼀性,不重复
    • 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序
    • 说明:没有修改操作

    增加

    • 添加

    zadd key score1 member1 score2 member2 ...

    • 例1:向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3
    127.0.0.1:6379[1]> zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
    (integer) 4
    127.0.0.1:6379[1]> 
    

    获取

    返回自定返回的元素

    • 返回指定范围内的元素
    • start、stop为元素的下标索引
    • 索引从左侧开始,第⼀个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素

    zrange key start stop

    • 例2:获取键'a4'的集合中所有元素
    127.0.0.1:6379[1]> zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
    (integer) 4
    127.0.0.1:6379[1]> zrange a4 0 -1
    1) "zhangsan"
    2) "lisi"
    3) "wangwu"
    4) "zhaoliu"
    127.0.0.1:6379[1]> 
    

    返回score值在min和max之间的成员

    zrangebyscore key min max

    • 例3:获取键a4的集合中权限值在5和6之间的成员
    127.0.0.1:6379[1]> zrangebyscore a4 5 6
    1) "wangwu"
    2) "zhaoliu"
    127.0.0.1:6379[1]> 
    

    返回成员member的score值

    zscore key member

    • 例4:获取键a4的集合中元素zhangsan的权重
    127.0.0.1:6379[1]> zscore a4 zhangsan
    "3"
    127.0.0.1:6379[1]> zscore a4 wangwu
    "5"
    127.0.0.1:6379[1]> zscore a4 zhaoliu
    "6"
    127.0.0.1:6379[1]> 
    

    删除

    删除指定元素

    zrem key member1 member2 ...

    • 例5:删除集合a4中元素zhangsan
    127.0.0.1:6379[1]> zrem a4 zhangsan
    (integer) 1
    127.0.0.1:6379[1]> ZRANGE a4 0 -1
    1) "lisi"
    2) "wangwu"
    3) "zhaoliu"
    127.0.0.1:6379[1]> ZREM a4 lisi
    (integer) 1
    127.0.0.1:6379[1]> ZRANGE a4 0 -1
    1) "wangwu"
    2) "zhaoliu"
    127.0.0.1:6379[1]> 
    

    删除权重在指定范围的元素

    zremrangebyscore key min max

    • 例6:删除集合a4中权重在5、6之间的元素
    # 查看权重在5、6之间的元素
    127.0.0.1:6379[1]> ZRANGEBYSCORE a4 5 6
    1) "wangwu"
    2) "zhaoliu"
    
    # 删除权重在5,6之间的元素
    127.0.0.1:6379[1]> ZREMRANGEBYSCORE a4 5 6
    (integer) 2
    
    # 再查看权重在5,6之间的元素
    127.0.0.1:6379[1]> ZRANGEBYSCORE a4 5 6
    (empty list or set)
    
    # 查看所有元素
    127.0.0.1:6379[1]> ZRANGE a4 0 -1
    (empty list or set)
    127.0.0.1:6379[1]> 
    

    相关文章

      网友评论

          本文标题:Redis 数据结构之zset有序集合

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