Redisラーニングノート-データ型とAPI(5)Sorted Set

3571 ワード

Sorted Set
特長
  • 秩序
  • 重複なし
  • 集合間操作
  • 集合VS秩序集合
    しゅうごう
    ちくじしゅうごう
    重複要素なし
    重複要素なし
    無秩序
    秩序
    element
    element + score
    リストVS整列集合
    リスト#リスト#
    ちくじしゅうごう
    重複する要素があります
    重複要素なし
    秩序
    秩序
    element
    element + score
    共通コマンド
    操作タイプ
    コマンド#コマンド#
    きほんそうさ
    zadd、zrem、zcard、zincrby、zscore
    レンジアクション
    zrange、zrangebyscore、zcount、zremrangebyrank
    コレクションアクション
    zunionstore、zinterstore
    コマンド#コマンド#
    意味
    時間の複雑さ
    zadd
    1つ以上のメンバー要素とそのscore値を秩序セットkeyに追加
    O(M*log(N)),Nは秩序化セットの基数であり,Mは正常に追加された新しいメンバーの数である.
    zrem
    秩序セットkeyの1つ以上のメンバーを削除すると、存在しないメンバーは無視されます.
    O(M*log(N)),Nは秩序セットの基数,Mは正常に除去されたメンバーの数である.
    zscore
    要素の分数
    O(1)
    zincrby
    要素のスコアの増加または減少
    O(log(N))
    zcard
    要素の合計数
    O(1)
    zrange
    指定したインデックス範囲内の昇順要素【およびスコア】を返します.
    O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
    zrangebyscore
    指定したスコア範囲内の昇順要素【およびスコア】を返します.
    O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
    zcount
    指定したスコア範囲内の要素の数を返します.
    O(log(N)+M),Nは秩序化セットの基数,Mはminとmaxの間の値を持つ要素の数である
    zremrangebyrank
    指定したランキング内の昇順要素の削除
    O(log(N)+M),Nは秩序化セットの基数であり,Mは除去されたメンバーの数である
    zremrangebyscore
    指定したスコア内の昇順要素の削除
    O(log(N)+M),Nは秩序化セットの基数,Mは結果セットの基数
    zadd
  • zadd key score element(複数対でもよい)(scoreとelementを秩序化集合keyに追加)
  • zrem
  • zrem key element(複数可)(指定した要素を削除)
  • zscore
  • zscore key element(要素のスコアを返す)
  • zincrby
  • zincrby key increScore element(要素のスコアを増減)
  • zcard
  • zcard key(戻り要素の総数)
  • zrange
  • zrange key start end[withscores](指定したインデックス範囲内の昇順要素【およびスコア】を返す)
  • zrangebyscore
  • zrangebyscore key minScore maxScore[withscores](指定したスコア範囲内の昇順要素【およびスコア値を返す))
  • zcount
  • zcount key minScore maxScore(指定されたスコア範囲内の要素の個数を返す)
  • zremrangebyrank
  • zremrangebyrankkey start end(指定したランキング内の昇順要素を削除)
  • zremrangebyscore
  • zremrangebyscore key minScore maxScore(指定したスコア内の昇順要素を削除)
  • 127.0.0.1:6379> zadd report 100 xiaoming 98 xiaohong 85 laowang 60 zhangsan 55 lisi
    (integer) 5
    127.0.0.1:6379> zscore report laowang
    "85"
    127.0.0.1:6379> zcard report
    (integer) 5
    127.0.0.1:6379> zrank report xiaohong
    (integer) 3
    127.0.0.1:6379> zrank report xiaoming
    (integer) 4
    127.0.0.1:6379> zrem report lisi
    (integer) 1
    127.0.0.1:6379> zrange report 0 -1 withscores
    1) "zhangsan"
    2) "60"
    3) "laowang"
    4) "85"
    5) "xiaohong"
    6) "98"
    7) "xiaoming"
    8) "100"
    127.0.0.1:6379> zrangebyscore report 85 100 withscores
    1) "laowang"
    2) "85"
    3) "xiaohong"
    4) "98"
    5) "xiaoming"
    6) "100"
    127.0.0.1:6379> zcount report 85 100
    (integer) 3
    127.0.0.1:6379> zremrangebyrank report 1 1
    (integer) 1
    127.0.0.1:6379> zrange report 0 -1 withscores
    1) "zhangsan"
    2) "60"
    3) "xiaohong"
    4) "98"
    5) "xiaoming"
    6) "100"
    127.0.0.1:6379> zremrangebyscore report 85 98
    (integer) 1
    127.0.0.1:6379> zrange report 0 -1 withscores
    1) "zhangsan"
    2) "60"
    3) "xiaoming"
    4) "100"

    その他のコマンド
  • zrevrank
  • zrevrange
  • zrevrangebyscore
  • zinterstore
  • zunionstore

  • その他のSorted Set関連コマンド:http://www.redis.cn/commands....
    実戦
  • ランキング:新刊書ランキング、ベストセラーランキング、注目ランキングなど.

  • 関連内容:
    Redis学習ノート-データ型とAPI(1)KeyRedis学習ノート-データ型とAPI(2)StringRedis学習ノート-データ型とAPI(3)ListRedis学習ノート-データ型とAPI(4)SetRedis学習ノート-データ型とAPI(5)Sorted SetRedis学習ペン-データ型とAPI(6)Hash