English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redisは集合と同様にstringタイプの要素の集合であり、重複のメンバーは許可されません。
違いは、各要素が double 型のスコアに関連付けられていることです。redisは、集合内のメンバーを小到大にソートするためにスコアを使用しています。
有序集合のメンバーはユニークですが、スコア(score)は重複できます。
コレクションはハッシュテーブルで実装されており、追加、削除、検索の複雑度はすべて O(1)。 コレクションの最大メンバー数は 232 - 1 (4294967295, 各コレクションには40多億個のメンバー)。
redis 127.0.0.1:6379> ZADD w3codeboxkey 1 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 2 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 0 redis 127.0.0.1:6379> ZADD w3codeboxkey 4 mysql (integer) 0 redis 127.0.0.1:6379> ZRANGE w3codeboxkey 0 10 WITHSCORES 1) "redis" 2) "1" 3) "mongodb" 4) "2" 5) "mysql" 6) "4"
上記の例では、以下のコマンドを使って ZADD redisの有序集合に3つの値を追加し、スコアに関連付けました。
以下の表に redis 有序集合の基本コマンドを示します:
序号 | コマンド及び説明 |
---|---|
1 | ZADD key score1 member1 [score2 member2] 有序集合に一つまたは複数のメンバーを追加し、または既存のメンバーのスコアを更新します |
2 | ZCARD key 有序集合のメンバー数を取得します |
3 | ZCOUNT key min max 有序集合で指定した範囲のスコアのメンバー数を計算します |
4 | ZINCRBY key increment member 有序集合で指定したメンバーのスコアに増分 increment を加えます |
5 | ZINTERSTORE destination numkeys key [key ...] 指定された一つまたは複数の有序集合の交集合を計算し、結果を新しい有序集合 destination に保存します |
6 | ZLEXCOUNT key 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 key member 有序集合中指定成员的索引を返します |
11 | ZREM key member [member ...] 指定されたメンバーを一つまたは複数削除します |
12 | ZREMRANGEBYLEX key min max 指定されたスコア範囲内のすべてのメンバーを削除します |
13 | ZREMRANGEBYRANK key start stop 指定されたランク範囲内のすべてのメンバーを削除します |
14 | ZREMRANGEBYSCORE key min max 指定されたスコア範囲内のすべてのメンバーを削除します |
15 | ZREVRANGE key start stop [WITHSCORES] 指定されたスコア範囲内のメンバーを返します。インデックスを通じて、スコアは高い順にソートされます |
16 | ZREVRANGEBYSCORE key max min [WITHSCORES] 指定されたスコア範囲内のメンバーを返します。スコアは高い順にソートされます |
17 | ZREVRANK key member 有序集合の指定メンバーのランクを返します。有序集合のメンバーはスコア値の降順(大きい順)でソートされます |
18 | ZSCORE key member 有序集合のメンバーのスコア値を返します |
19 | ZUNIONSTORE destination numkeys key [key ...] 指定された一つまたは複数の有序集合の並集合を計算し、新しいkeyに保存します |
20 | ZSCAN key cursor [MATCH pattern] [COUNT count] 迭代的に有序集合の要素(要素メンバーおよび要素値を含む) |