redis
Redis Setデータ型
サーチ…
前書き
Redisは、データベース内のデータをモデリングするための数学的集合に類似した集合データ型をサポートしています。集合は、一意の順序付けられていないメンバのグループからなる複合データ型です。メンバーの追加、削除、サイズ操作、および2つのセットを取り、3番目のセットを生成する組み合わせ操作をサポートするように設定します。 Redisのセットは、ほとんどのプログラミング言語のセットと似ています。
構文
- SADDキーメンバー[メンバー...]
- SISMEMBERキーメンバー
- SCARDキー
- SADDキーメンバー[メンバー...]
備考
Redisのデータ型に関する完全なドキュメントは、 Redis.ioにあります。
セットのサイズ
セットのサイズは、SCARDコマンドを使用して決定できます。 SCARDは、集合の基数または集合内のメンバーの数を返します。たとえば、Redis set my_setがデータベースに格納されている場合(Apple、Orange、Banana)、次のコードを使用してサイズを取得できます。
SCARD my_set
私の例のセットの場合、これは3を返します。ユーザーが存在しないキーでSCARDコマンドを実行すると、Redisは0を返します。
セットにアイテムを追加する
アイテムをセットに追加するための基本的なRedisコマンドは、SADDです。これは、キーと1つまたは複数のメンバーをとり、指定されたキーに格納されているセットに追加します。
たとえば、リンゴ、ナシ、バナナなどのアイテムを使ってセットを作成したかったとしましょう。私は次のいずれかを実行することができます:
SADD fruit apple
SADD fruit pear
SADD fruit banana
または
SADD fruit apple pear banana
いずれかを実行した後、私は3つの項目で設定された果物を持っています。
すでにセットに含まれているアイテムを追加しようとしても効果はありません。上記のコードを使用して自分のフルーツセットを設定した後、リンゴをもう一度追加しようとすると:
SADD fruit apple
レディスはフルーツセットにリンゴを加えようとしますが、すでにセットに入っているので何も変わりません。
SADDコマンドの結果は常に、Redisがセットに追加したアイテムの数です。 appleを再追加しようとすると、結果は0になります。
Redisのメンバーアイテムは大文字と小文字が区別されるため、AppleとAppleは2つの別々のアイテムとして扱われます。
メンバーシップのテスト
RedisはSISMEMBERコマンドを使用して、特定のアイテムがすでにセットのメンバーであるかどうかをテストします。 SISMEMBERコマンドを使用して、appleがすでに自分のフルーツセットのメンバーであるかどうかをテストして確認することができます。
前の例から自分のフルーツセットを作ったら、次のテストを使ってアップルが含まれているかどうかを調べることができます:
SISMEMBER fruit apple
SISMEMBERはアイテムがすでに存在しているので1を返します。
犬が自分の果物セットのメンバーであるかどうかを調べようとすると:
SISMEMBER fruit dog
犬は果物セットに含まれていないので、Redisは0を返します。
ユーザーが存在しないキーでSISMEMBERコマンドを使用しようとすると、Redisはメンバーシップがないことを示す0を返しますが、設定されていないデータ型を保持しているキーでSISMEMBERを使用すると、エラーが返されます。