美文网首页
redis教程: zset命令

redis教程: zset命令

作者: warmsirius | 来源:发表于2019-08-06 14:12 被阅读0次

    zset类型

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

    一、增加

    1. 添加

    zadd key score1 member1 score2 member2 ...
    
    • score:代表权重

    • 例1:向键 a4的集合中添加元素lisi、zhangsan、wangwu,权重分别为4、5、6

    127.0.0.1:6379[1]> zadd a4 4 lisi 5 zhangsan 6 wangwu
    (integer) 3
    127.0.0.1:6379[1]> type a4
    zset
    

    二、获取

    1. 返回指定范围内的元素

    • start、stop为元素的下标索引
    • 索引从左侧开始,第一个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
    zrange key start stop
    
    • 例2:获取键a4的集合的所有元素
    127.0.0.1:6379[1]> zrange a4 0 -1
    1) "lisi"
    2) "zhangsan"
    3) "wangwu"
    

    2. 返回score(权重)在min和max之间(闭区间)的成员

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

    3. 返回成员的score值

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

    三、删除

    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"
    

    2. 删除权重在制定范围内的元素

    zremrangebyscore key min max
    
    • 例6:删除集合a4中权限在5、6之间的元素
    127.0.0.1:6379[1]> zremrangebyscore a4 5 6
    (integer) 1
    127.0.0.1:6379[1]> zrange a4 0 -1
    1) "lisi"
    

    相关文章

      网友评论

          本文标题:redis教程: zset命令

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