redisのZset(sorted set)秩序集合

2470 ワード

Zsetはsetに基づいてscore値を加算.
各valueはdoubleタイプのスコアscoreに関連付けられます
valueは繰り返すことはできませんがscoreは繰り返すことができます
このscoreは、これらのvalueをソートするために数値でなければなりません.
1つのscoreは1つのvalueにしか対応できません
set    value1 value2
Zset    score1 value1 score2 value2
  • zadd添加元素
  • zadd [key] [score1] [value1] [score2] [value2] ...
    
  • に挿入された要素は秩序化され、順序はスコアに従って
  • にソートされる.
  • のスコアの最小の小標は0であり、スコアの増加順に
  • である.
  • 異なるvalueが同じ点数を使用する場合、公式サイトによるとLexicographical order is used for elements with equal scoreは、このvalueの辞書に従ってソートすることを意味する.辞書の並べ替え方法
  • zrangeインデックス区間を介して所定区間内のメンバ
  • を合成する順序セットを返す.
    ZRANGE [key] [lowerIndex] [higherIndex] WITHSCORES
    # WITHSCORES     
    #   WITHSCORES   score
    #   WITHSCORES, value score       
    

    このコマンドは、次の点に注意してください.
  • lowerIndexhigherIndexは、スコアのソート後の下付きソートが昇順であり、スコアの最小の下付きソートが0であり、その後
  • 増加する.
  • ZRANGEBYSCOREは、分数によって、所定の区間内のメンバー
  • を秩序化集合に戻す.
    ZRANGEBYSCORE [key] [minScore] [maxScore] (WITHSCORES) (limit [offset] [count])
    #   score   value,  score     ,      
    #     score      value
    # WITHSCORES  ,      score    
    # LIMIT  ,    limit,      offset count,
    # offset          ,count        
    #      (min (max         min max
    
  • zrem削除要素、
  • 时间の复雑さはすべてあります:O(M*log(N))
    zrem [key] [value1] [value2] [value3] ....
    #   zset      value
    
  • zcardコレクションにどれだけのvalueがあるかを表示します.score
  • ではありません.
  • Time complexity: O(1)
  • zcard [key]
    
  • zcountスコアセグメントのvalue
  • の数を表示
    zcount [key] [startScore] [endScore]
    # score     -inf      
    # +inf        
    
  • zrankクエリー指定valueコレクションの下付き
  • zrank [key] [value]
    #    0  
    
  • zscore指定valueのscore
  • を表示
    zscore [key] [value]
    
  • zrevrankzrankの差は多くありませんが、ここでscoreの最大の下付きは0
  • です.
    zrevrank [key] [value]
    
  • zrevrangezrangeと機能が似ているが、scoreの最大の下付きは0
  • である.
    zrevrange [key] [lowerIndex] [higherIndex] WITHSCORES
    
  • zrevrangebyscoreZRANGEBYSCOREは似ていて、scoreの大きい遍歴からscoreの小さい
  • にすぎない.
    zrevrangebyscore [key] [maxScore] [minScore] (WITHSCORES) (limit [offset] [count])