康猫100天-第一天-redis入门-2018-11-25

版权声明:kanghu https://blog.csdn.net/weixin_40739280/article/details/84503095

1.  zset(sorted set)操作

    1.1 在set类型基础上每个元素都关联了一个分数,可以根据分数区间获取元素

    1.2 与list区别:list是通过链表实现,获取两端数据极快,访问中间数据较慢,适合实现日志、新鲜事这类很少访问中间数据的。

                            zset使用散列表盒跳跃表实现,即使读取中间数据也很快。

                            list不能调整元素位置,但是zset可以通过更改元素分数来改变元素位置。

                            zset要比list更耗费内存。

   1.3 命令:

         1.3.1  增加元素:ZADD key score1 member1 score2 member2 

                   如果元素已存在,则用新分数替换原有分数,返回值事新加入到集合中的元素个数(不包含已存在的元素),分数不仅支持整数,还支持双精度浮点数,分数可以使17E+5、1.5、+inf、-inf(代表正无穷和负无穷)

        1.3.2  获得元素分数:ZSCORE key member

        1.3.3  获得排名范围内的元素:

                 按索引:

                 ZRANGE key start stop [WITHSCORES](从小到大,从0开始,-1代表最后一个元素,如果两个元素分数相同,就按照字典顺序"0"<"9"<"A"<"Z"<"a"<"z")

                ZREVRANGE (从大到小)

                按指定分数范围:

                ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

                ZREVRANGEBYSCORE

         1.3.4  增加某元素分数:

                ZINCRBY key increment member(返回更改后的分数,可以为负数,如果元素不存在,会先赋值0再进行操作)

        1.3.5  获得集合中元素数量:

               ZCARD key

        1.3.6  获得指定分数范围内元素个数:

              ZCOUNT key min max

        1.3.7  删除一个或多个元素:

             ZREM key member(返回成功删除元素数量)

        1.3.8  按照排名范围(索引)删除:

             ZREMRANGEBYRANK key start stop

        1.3.9  按照分数范围删除:

            ZREMRANGEBYSCORE key min max

        1.4.0  获得元素排名:

           ZRANK key member(从0开始,分数最小元素排名为0)

           ZREVRANGE

       1.4.1  计算交集:

           ZINTERSTORE new keyNum key1 key2 [weights weight1 weight2] [AGREGATE SUM | MIN | MAX(默认为SUM)]

          weights:可以指定单个key的权重,做操作之前先各自乘以相应权重再进行计算

       1.4.2  计算并集:

           ZUNIONSTORE

       

猜你喜欢

转载自blog.csdn.net/weixin_40739280/article/details/84503095
今日推荐