Redisコマンドラーニング-SortedSet(整列集合)

100818 ワード

  • ​ZADD

  •      ZADD key score  member[score  member ...]:1つ以上のメンバー要素とそのscore値を秩序セットkeyに追加します.メンバーが既に秩序化されたセットの値である場合、scoreが更新されます.scoreは整数値、二重精度値です.keyが存在しない場合は、秩序化された集合を作成し、参加します.keyが秩序化された集合でない場合、エラーが返されます.
    ≪戻り値|Return Value|emdw≫:正常に追加された数.既存および更新されたメンバーは含まれません.   
    
      
      
      
      
    1. 127.0.0.1:6379> ZADD page_rank 10 google.com

    2. (integer) 1

    3. 127.0.0.1:6379> ZADD page_rank 9 baidu.com 8 bing.com

    4. (integer) 2

    5. 127.0.0.1:6379> ZRANGE page_rank 0 -1 WITHSCORES

    6. 1) "bing.com"

    7. 2) "8"

    8. 3) "baidu.com"

    9. 4) "9"

    10. 5) "google.com"

    11. 6) "10"

    12. 127.0.0.1:6379> ZADD page_rank 10 google.com

    13. (integer) 0

    14. 127.0.0.1:6379> ZRANGE page_rank 0 -1 WITHSCORES

    15. 1) "bing.com"

    16. 2) "8"

    17. 3) "baidu.com"

    18. 4) "9"

    19. 5) "google.com"

    20. 6) "10"

    21. 127.0.0.1:6379>   

  • ZCARD

  • ZCARDkey:順序セットkeyの基数を返します.
    戻り値:keyが存在し、秩序化された集合である場合、keyの基数が返されます.キーが存在しない場合は、0を返します.
    
      
      
      
      
    1. 127.0.0.1:6379> ZCARD page_rank

    2. (integer) 3

    3. 127.0.0.1:6379> EXISTS none_exists_key

    4. (integer) 0

    5. 127.0.0.1:6379> ZCARD none_exists_key

    6. (integer) 0

  • ZCOUNT

  • ZCOUNT key min max:秩序集合Keyに戻り、scoreはminにあり、maxは両者の個数を含む.
    戻り値:scoreの[min,max]の個数.
    
      
      
      
      
    1. 127.0.0.1:6379> ZCOUNT page_rank 0 -1

    2. (integer) 0

    3. 127.0.0.1:6379> ZCOUNT page_rank 0 10

    4. (integer) 3

  • ZINCRBY

  • ZINCRBY key increment member:秩序セットkeyのメンバーmemberのscore値に増分memberを加算します.キーが存在しない場合、またはメンバーがキーのメンバーでない場合、ZADDキーincrementメンバーを実行することに相当します.
    戻り値:メンバーの新しいscore値.
    
      
      
      
      
    1. 127.0.0.1:6379> ZSCORE salary tom

    2. (nil)

    3. 127.0.0.1:6379> ZINCRBY salary 2000 tom

    4. "2000"

    5. 127.0.0.1:6379> ZSCORE salary tom

    6. "2000"

    7. 127.0.0.1:6379> ZINCRBY salary 2000 tom

    8. "4000"

    9. 127.0.0.1:6379> ZSCORE salary tom

    10. "4000"

  • ZRANGE

  • ZRANG key start stop[WITHSCORES]:秩序化された集合を返し、区間内のkeyの値を指定します.メンバーの位置はscore値でインクリメンタルにソートされます.WITHSCOREパラメータを使用して、メンバーをscoreとともに返すことができます.
    ≪戻り値|Return Value|emdw≫:区間内の順序付きコレクションのリストを指定します.
        
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANGE page_rank 0 -1 WITHSCORES

    2. 1) "bing.com"

    3. 2) "8"

    4. 3) "baidu.com"

    5. 4) "9"

    6. 5) "google.com"

    7. 6) "10"

    8. 127.0.0.1:6379> ZRANGE page_rank 1 2 WITHSCORES

    9. 1) "baidu.com"

    10. 2) "9"

    11. 3) "google.com"

    12. 4) "10"

    13. 127.0.0.1:6379> ZRANGE page_rank 2 100 WITHSCORES

    14. 1) "google.com"

    15. 2) "10"

  • ZRANGEBYSCORE

  • ZRANGE BYSCORE key min max[WITHSCORES][LIMITOFFSET COUNT]:min maxの間の値を持つ秩序化されたセットに戻り、秩序化されたセットはscoreの値によってインクリメントされます.
    ≪戻り値|Return Value|emdw≫:区間内のメンバー・リストを指定します.
    
      
      
      
      
    1. 127.0.0.1:6379> ZADD salary 2500 jack

    2. (integer) 1

    3. 127.0.0.1:6379> ZADD salary 2500 tom

    4. (integer) 0

    5. 127.0.0.1:6379> ZADD salary 12000 peter

    6. (integer) 1

    7. 127.0.0.1:6379> ZADD salary 100 jery

    8. (integer) 1

    9. 127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf

    10. 1) "jery"

    11. 2) "jack"

    12. 3) "tom"

    13. 4) "peter"

    14. 127.0.0.1:6379> ZRANGEBYSCORE salary -inf 5000 WITHSCORES

    15. 1) "jery"

    16. 2) "100"

    17. 3) "jack"

    18. 4) "2500"

    19. 5) "tom"

    20. 6) "2500"

    21. 127.0.0.1:6379> ZRANGEBYSCORE salary (1000 400000

    22. 1) "jack"

    23. 2) "tom"

    24. 3) "peter"

  • ZRANK

  • ZRANK key member:集合key内のmemberのランキングを返し、デフォルトではscore値で増加します.
    戻り値:keyでのメンバーの順位を返します.
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANK salary tom

    2. (integer) 2

    3. 127.0.0.1:6379> ZRANK salary tom_none

    4. (nil)

  • ZREM

  •     ZREM key [member...]:コレクションkeyの1つ以上のメンバーを削除します.
    戻り値:正常に削除されたメンバーの数、無視されたものは計上されません.
        
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANGE page_rank 0 -1 WITHSCORES

    2. 1) "bing.com"

    3. 2) "8"

    4. 3) "baidu.com"

    5. 4) "9"

    6. 5) "google.com"

    7. 6) "10"

    8. 127.0.0.1:6379> ZREM page_rank google.com

    9. (integer) 1

    10. 127.0.0.1:6379> ZREM page_rank baidu.com bing.com so.com

    11. (integer) 2

    12. 127.0.0.1:6379>

  • ZREMRANGEBYRANK

  • ZREMRANGEBYRANK key start stop:コレクションkeyから削除し、ランキング閉区間内のすべてのコレクションを指定します.
    戻り値:削除されたメンバー変数.
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    2. 1) "jery"

    3. 2) "100"

    4. 3) "jack"

    5. 4) "2500"

    6. 5) "tom"

    7. 6) "2500"

    8. 7) "peter"

    9. 8) "12000"

    10. 127.0.0.1:6379> ZREMRANGEBYRANK salary 0 1

    11. (integer) 2

    12. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    13. 1) "tom"

    14. 2) "2500"

    15. 3) "peter"

    16. 4) "12000"

  • ZREMRANGEBYSCORE

  • ZREMRANGEBYSCORE ken min max:集合Keyのscoreがmin max閉区間内のメンバーを除去します.    
    戻り値:削除されたメンバーの数.
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    2. 1) "Jim"

    3. 2) "1000"

    4. 3) "tom"

    5. 4) "2500"

    6. 5) "peter"

    7. 6) "12000"

    8. 127.0.0.1:6379> ZREMRANGEBYSCORE  salary 1500 3500

    9. (integer) 1

    10. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    11. 1) "Jim"

    12. 2) "1000"

    13. 3) "peter"

    14. 4) "12000"

  • ZREVRANGE

  • ZREVRANGE key start stop WITHSCORES:scoreの減算順に閉区間内のメンバーを返します.基本的にZRANGEと同じです.
  • ZREVRANGEBYSCORE

  • ZREVRANGEBYSCORE key max min[WITHSCORES][LIMIT offset count]:コレクションに戻り、scoreがmaxとminの間にあるメンバーをscoreで減算して並べ替えます.ZRANGEBYSCOREコマンドは似ています.
  • ZREVRANK

  • ZREVRANK key member:集合Keyに戻り、memberの順位は減少順である.
  • ZSCORE

  • ZSCORE key member:秩序化された集合、memberのscoreを返します.
    戻り値:memberのscore値.
    
      
      
      
      
    1. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    2. 1) "Jim"

    3. 2) "1000"

    4. 3) "peter"

    5. 4) "12000"

    6. 127.0.0.1:6379> ZSCORE salary Jim

    7. "1000"

  • ZUNIONSTORE

  •     ZUNIONSTORE destination numkey key[key ... ] [WEIGHTS weight...] [AGGREGATE SUM‖MIN‖MAX]:与えられた1つまたは複数のセットの並列セットを計算し、その並列セットをdestinationに格納する.
    WEIGHTSオプションでは、各秩序化されたセットに乗算係数をそれぞれ指定できます.指定すると、セットの各メンバーは集約関数に渡されると、その係数を乗算します.
    AGGREGATEオプションは、集約方法を指定します.SUMはscoreの和を表し,MINは小者を結果とし,MAXは大者を結果とする.
    戻り値:結果に保存されたベース数.
    
      
      
      
      
    1. 127.0.0.1:6379> ZADD pragrammer 2000 peter 3500 jack 5000 tom

    2. (integer) 3

    3. 127.0.0.1:6379> ZRANGE manager 2000 herry 3500 marry 4000 bob

    4. (error) ERR value is not an integer or out of range

    5. 127.0.0.1:6379> ZADD manager 2000 herry 3500 marry 4000 bob

    6. (integer) 3

    7. 127.0.0.1:6379> ZUNIONSTORE salary 2 programmer manager weights 1 3

    8. (integer) 3

    9. 127.0.0.1:6379> ZUNIONSTORE salary 2 pragrammer manager weights 1 3

    10. (integer) 6

    11. 127.0.0.1:6379> ZRANGE salary 0 -1 WITHSCORES

    12. 1) "peter"

    13. 2) "2000"

    14. 3) "jack"

    15. 4) "3500"

    16. 5) "tom"

    17. 6) "5000"

    18. 7) "herry"

    19. 8) "6000"

    20. 9) "marry"

    21. 10) "10500"

    22. 11) "bob"

    23. 12) "12000"

    • ZINTERSTORE

        ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight[weight ... ]] [AGGREGATE SUM|| MIN || MAX]: , 。

         : 。

    
      
      
      
      
    1. 127.0.0.1:6379> ZADD mid_test 70 lilei 70 hanmeimei 99.5 tom

    2. (integer) 3

    3. 127.0.0.1:6379> ZADD fin_test 88 lilei 75 hanmeimie 99.5 tom

    4. (integer) 3

    5. 127.0.0.1:6379> ZINTERSTORE sum_point 2 mid_test fin_test

    6. (integer) 2

    7. 127.0.0.1:6379> ZRANGE sum_point 0 -1 WITHSCORES

    8. 1) "lilei"

    9. 2) "158"

    10. 3) "tom"

    11. 4) "199"

    • ZSCAN

    • ZLEXCOUNT

        ZLEXCOUNT key min max: , min max 。

        : 。

    
       
       
       
       
    1. 127.0.0.1:6379> ZADD myzset 0 a 0 b 0 c 0 d 0 e
    2. (integer) 5
    3. 127.0.0.1:6379> ZADD myzset 0 f 0 g
    4. (integer) 2
    5. 127.0.0.1:6379> ZLEXCOUNT myzset - +
    6. (integer) 7
    7. 127.0.0.1:6379> ZLEXCOUNT myzset [b [f
    8. (integer) 5

    • ZREMRANGEBYLEX

        ZREMRANGEBYLEX key min max: score , min max 。

         : 。

    
       
       
       
       
    1. 127.0.0.1:6379> ZREMRANGEBYLEX myzset [a [c
    2. (integer) 3
    3. 127.0.0.1:6379> ZRANGE myzset 0 -1
    4. 1) "d"
    5. 2) "e"
    6. 3) "f"
    7. 4) "g"
    8. 127.0.0.1:6379>




    :http://redisdoc.com/sorted_set/zremrangebylex.html