Redis秩序集合ZSET基底関数


復習してredisをまとめ、その後の大規模分布式爬虫類の準備をします
文書ディレクトリ
  • 前戯
  • 挿入
  • zadd

  • クエリー
  • zrange
  • zcount
  • zscore
  • zrevrange
  • zrangebyscore
  • zrevrangebyscore
  • zrank
  • zrevrank
  • zcard

  • 更新
  • zincrby

  • 削除
  • zrem
  • zremrangebyrank
  • zremrangebyscore

  • その他
  • zinterstore
  • zunionstore



  • 前戯
    コマンドラインモードに入る
    redis-cli
    

    すべてのキーをクエリー
    127.0.0.1:6379> KEYS *
    1) "proxies:universal"
    

    クエリーキーがredisサーバに格納されているタイプは、順序付き集合ZSETタイプであることを確認します.
    127.0.0.1:6379> TYPE proxies:universal
    zset
    

    挿入
    zadd
    構文:zadd key score member[[score member][score member]...]
    解釈:1つ以上のメンバー(scoreソートに従って)を秩序セットkeyに追加し、 member , score.既存のメンバーを含まない追加メンバー数を返します.
    127.0.0.1:6379> ZADD temp 100
    127.0.0.1:6379> ZADD temp 10 haha
    

    検索
    zrange
    構文:zrange key start stop[withscores]
    説明:シーケンスセットkeyで指定した範囲(インデックスstart stopを介して)のmember[およびそのscore]を返します.
    127.0.0.1:6379> ZRANGE temp 0 -1 withscores #    Python    
    1) "100"
    2) "0"
    3) "haha"
    4) "10"
    

    zcount
    構文:zcount key min max
    説明:統計keyにおけるscore値がminとmaxの間のmember個数
    127.0.0.1:6379> ZCOUNT proxies:universal 90 100
    (integer) 264
    

    zscore
    構文:zscore key member
    説明:セットキーのメンバーがあるscoreを返します.
    127.0.0.1:6379> ZSCORE proxies:universal 149.28.17.159:3128
    "100"
    

    zrevrange
    構文:zrevrange key start stop[withscores]
    解釈:順序セットkeyで指定された範囲[インデックスstart stopを介して]のメンバー[およびscore]を返し、メンバーはscoreに従って
    127.0.0.1:6379> ZREVRANGE proxies:universal 200 205 WITHSCORES
     1) "110.243.24.21:9999"
     2) "97"
     3) "110.243.16.9:9999"
     4) "97"
     5) "110.243.15.222:9999"
     6) "97"
     7) "110.243.13.30:9999"
     8) "97"
     9) "110.243.1.53:9999"
    10) "97"
    11) "58.250.21.56:3128"
    12) "96"
    

    zrangebyscore
    構文:zrangebyscore key min max[withscores][limit offset count]
    解釈:秩序セットkeyに戻り、scoreはmin以上max以下のmemberより大きい.戻り結果はscore の順序で並べられます.オプションwithscoresは、結果セットに戻ってメンバーのみを返すか、メンバーとscoreを返すかを決定します.オプションパラメータlimitは、結果を返す を指定します.
    127.0.0.1:6379> ZRANGEBYSCORE proxies:universal 90 100 WITHSCORES LIMIT 1 5
     1) "110.243.1.192:9999"
     2) "91"
     3) "110.243.1.41:9999"
     4) "91"
     5) "148.70.251.117:8133"
     6) "91"
     7) "182.46.203.184:9999"
     8) "91"
     9) "192.46.231.208:8080"
    10) "91"
    

    zrevrangebyscore
    構文:zrevrangescore key max min[withscores][limit offset count]
    解釈:秩序セットkeyのscore<=max、score>=minの要素を返し、戻り結果はscoreの大きい順から小さい順に並べられます.オプションパラメータwithscoresは、結果セットにscoreが含まれているかどうかを決定し、オプションパラメータlimitは結果セットを返す範囲を指定します. zrangebyscore
    127.0.0.1:6379> ZREVRANGEBYSCORE proxies:universal 92 90 WITHSCORES LIMIT 1 5
     1) "182.46.111.216:9999"
     2) "92"
     3) "171.35.212.72:9999"
     4) "92"
     5) "122.5.97.104:9999"
     6) "92"
     7) "118.212.106.139:9999"
     8) "92"
     9) "113.121.66.141:9999"
    10) "92"
    

    zrank
    構文:zrankkey member
    解釈:score に従って、秩序化されたセットのindex、 Python に戻る.
    127.0.0.1:6379> ZRANGE proxies:universal 0 5
    1) "1.197.203.14:8460"
    2) "103.153.40.13:8080"
    3) "110.243.13.118:9999"
    4) "110.243.2.248:9999"
    5) "110.243.3.170:9999"
    6) "110.243.3.241:9999"
    127.0.0.1:6379> ZRANK proxies:universal 1.197.203.14:8460
    (integer) 0
    127.0.0.1:6379> ZRANK proxies:universal 110.243.3.241:9999
    (integer) 5
    

    zrevrank
    構文:zrevrank key member
    解釈:scoreの高から低へのソートに基づいて、秩序セットkeyにおけるmemberのindexを返し、明らかに上のzrankの逆シーケンスである.
    127.0.0.1:6379> ZREVRANK proxies:universal 1.197.203.14:8460
    (integer) 3655
    127.0.0.1:6379> ZREVRANK proxies:universal 110.243.3.241:9999
    (integer) 3650
    

    zcard
    構文:zcard key
    説明:Pythonセットの長さに似た順序セットkeyの基数を返します.
    127.0.0.1:6379> ZCARD proxies:universal
    (integer) 3656
    

    更新
    zincrby
    構文:zincrby key increment member
    解釈:秩序セットkeyのmember増加増分increment、増加後のscoreを返す
    127.0.0.1:6379> ZSCORE proxies:universal 103.153.40.13:8080
    "1"
    127.0.0.1:6379> ZINCRBY proxies:universal 9 103.153.40.13:8080
    "10"
    127.0.0.1:6379> ZSCORE proxies:universal 103.153.40.13:8080
    "10"
    

    削除
    zrem
    構文:zrem key member[member...]
    説明:秩序セットの1つ以上のメンバーを削除し、メンバーを削除する数を返します.
    127.0.0.1:6379> ZSCORE proxies:universal 1.197.203.14:8460
    "1"
    127.0.0.1:6379> ZREM proxies:universal 1.197.203.14:8460
    (integer) 1
    127.0.0.1:6379> ZSCORE proxies:universal 1.197.203.14:8460
    (nil)
    

    zremrangebyrank
    構文:zremrangebyrankkey start stop
    説明:整列セットで指定したランキング範囲【start stop】の要素を除去し、除去要素の数を返します
    127.0.0.1:6379> ZRANGE proxies:universal 0 5 WITHSCORES
     1) "103.153.40.13:8080"
     2) "1"
     3) "110.243.13.118:9999"
     4) "1"
     5) "110.243.2.248:9999"
     6) "1"
     7) "110.243.3.170:9999"
     8) "1"
     9) "110.243.3.241:9999"
    10) "1"
    11) "110.243.4.86:8232"
    12) "1"
    127.0.0.1:6379> ZREMRANGEBYRANK proxies:universal 0 5
    (integer) 6
    127.0.0.1:6379> ZRANGE proxies:universal 0 5 WITHSCORES
     1) "110.243.5.104:9999"
     2) "1"
     3) "112.95.22.17:8820"
     4) "1"
     5) "113.121.36.100:8236"
     6) "1"
     7) "113.121.36.100:8772"
     8) "1"
     9) "113.121.36.100:8856"
    10) "1"
    11) "113.121.73.60:9999"
    12) "1"
    

    zremrangebyscore
    構文:zremrangebyscore key min max
    解釈:秩序セットのメンバーを除去し、メンバーを除去するscoreはmin以上max以下である.除去要素の数を返します
    127.0.0.1:6379> ZRANGEBYSCORE proxies:universal 1 5 WITHSCORES LIMIT 1 5
     1) "112.95.22.17:8820"
     2) "1"
     3) "113.121.36.100:8236"
     4) "1"
     5) "113.121.36.100:8772"
     6) "1"
     7) "113.121.36.100:8856"
     8) "1"
     9) "113.121.73.60:9999"
    10) "1"
    127.0.0.1:6379> ZREMRANGEBYSCORE proxies:universal 1 5
    (integer) 1450
    

    その他
    zinterstore
    構文:zinterstore destination numkeys key[key...][weights weight][aggregate sum|min|max]
    説明:複数の順序セットの交差を統計する
    zunionstore
    構文:zunionstore destination numkeys key[key...][weights weight][aggregate sum|min|max]
    説明:複数の順序セットの集計