Redis 順序付きセット (ソート済みセット)
Redis 順序付きセットも、セットと同様に文字列型要素のコレクションであり、メンバーの重複は許可されません。
違いは、各要素が double 型のスコアに関連付けられていることです。 Redis はスコアを使用して、コレクションのメンバーを小さいものから大きいものまで並べ替えます。
順序付きセットのメンバーは一意ですが、スコアは繰り返すことができます。
セットはハッシュ テーブルを通じて実装されるため、追加、削除、検索の複雑さは O(1) です。 コレクション内のメンバーの最大数は 232 - 1 (4294967295、各コレクションには 40 億を超えるメンバーを保存できます) です。
例
redis 127.0.0.1:6379> ZADD w3ckey 1 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3ckey 2 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3ckey 3 mysql (integer) 1 redis 127.0.0.1:6379> ZADD w3ckey 3 mysql (integer) 0 redis 127.0.0.1:6379> ZADD w3ckey 4 mysql (integer) 0 redis 127.0.0.1:6379> ZRANGE w3ckey 0 10 WITHSCORES 1) "redis" 2) "1" 3) "mongodb" 4) "2" 5) "mysql" 6) "4"
上記の例では、順序付けられた Redis コレクションに 3 つの値を追加し、コマンド ZADD を通じてスコアを関連付けました。
Redis 順序付きセットのコマンド
次の表に、Redis 順序付きセットの基本的なコマンドを示します:
シリアル番号 | コマンドと説明 |
---|---|
1 | ZADD キースコア1 member1 [score2 member2] 順序付きセットに 1 つ以上のメンバーを追加するか、既存のメンバーのスコアを更新します |
2 | ZCARD キー 順序付きセットのメンバーの数を取得する |
3 | ZCOUNT キー最小最大 順序付きセット内の指定された間隔スコアを持つメンバーの数を計算する |
4 | ZINCRBY キー増分member 順序付きセット 指定されたメンバーのスコアと増分 |
5 | ZINTERSTORE destination numkeys key [key ...] 指定された 1 つ以上の順序付きセットの共通部分を計算し、結果セットを新しいファイルに格納します順序付きセットのキー |
6 | ZLEXCOUNT キー min max 順序付きセット内の指定された辞書範囲内のメンバーの数を計算する |
7 | ZRANGE key start stop [WITHSCORES] 順序を返すインデックス範囲 指定された範囲のメンバーに設定します |
8 | ZRANGEBYLEX key min max [LIMIT offset count] 辞書範囲を介して順序付きセットのメンバーを返します |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] スコアを介して順序付きセットの指定された範囲内のメンバーを返します |
10 | ZRANK キーメンバー 順序付きセット内の指定されたメンバーのインデックスを返します |
11 | ZREM キー メンバー [メンバー ...] Shift 順序付きセット内の 1 つ以上のメンバーを除く |
12 | ZREMRANGEBYLEX キー min max 順序付きセット内の指定された辞書間隔のすべてのメンバーを削除します |
13 | ZREMRANGEBYRANK キー開始停止 シフト 順序付きセット内の指定されたランク間隔のすべてのメンバーを除く |
14 | ZREMRANGEBYSCORE キー最小最大 順序付きセット内の指定されたスコア間隔のすべてのメンバーを削除 |
15 | ZREVRANGE key start stop [WITHSCORES] インデックスを使用して高いスコアから低いスコアまで、順序付きセット内の指定された間隔のメンバーを返します |
16 | ZREVRANGEBYSCORE key max min [WITHSCORES] 指定されたスコアのメンバーを返します順序付きセット内のスコアを高いものから低いものへ並べ替えます |
17 | ZREVRANK キーメンバー 順序付きセット内の指定されたメンバーのランキングを返します。順序付きセットのメンバーは、スコア値の降順に並べ替えられます。 (大きい順) |
18 | ZSCOREキーメンバー Return 順序付きセットにおいて、メンバーのスコア値 |
19 | ZUNIONSTORE 宛先numkeys key [key ...] 和集合を計算する1 つ以上の指定された順序セットを抽出し、それを新しいキーに保存します |
20 | ZSCAN キー カーソル [MATCH パターン] [COUNT カウント] 順序セット内の要素 (要素メンバーと要素スコアを含む) を反復処理します |