1. 程式人生 > >康貓100天-第一天-redis入門-2018-11-25

康貓100天-第一天-redis入門-2018-11-25

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