English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Redis 集合(Set)

RedisのSetはString型の無順序集合です。集合メンバーはユニークであるため、集合内に重複データは出現しません。

Redisの集合はハッシュテーブルで実装されていますので、追加、削除、検索の複雑さはすべてO(1)。

集合内の最大メンバー数は 232  - 1 (4294967295, 各集合は保存できます40多億のメンバー)。

オンラインサンプル

redis 127.0.0.1:6379> SADD w3codeboxkey redis
(integer) 1
redis 127.0.0.1:6379> SADD w3codeboxkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD w3codeboxkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD w3codeboxkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS w3codeboxkey
1) "mysql"
2) "mongodb"
3) "redis"

上記の例では、以下の方法で SADD コマンドが名前の w3codeboxkey の集合に3つの要素を挿入する。

Redis集合コマンド

以下の表にRedis集合の基本的なコマンドを示します:

番号コマンドおよび説明
1SADDキーメンバー1 [member2]
集合に1つまたは複数のメンバーを追加する
2SCARDキー
集合のメンバー数を取得します
3SDIFF key1 [key2]
最初の集合と他の集合の差集を返します。
4SDIFFSTORE destination key1 [key2]
指定されたすべての集合の差集を destination に保存します
5SINTER key1 [key2]
指定されたすべての集合のインターセクトを返します
6SINTERSTORE destination key1 [key2]
指定されたすべての集合のインターセクトを destination に保存します
7SISMEMBER key member
member 要素が集合 key のメンバーであるかどうかを判断します
8SMEMBERS key
集合のすべてのメンバーを返します
9SMOVE source destination member
member 要素を source 集合から destination 集合に移動します
10SPOP key
集合からランダムな要素を削除し返します
11SRANDMEMBER key [count]
集合から1つまたは複数のランダムな数を返します
12SREM key member1 [member2]
集合から1つまたは複数のメンバーを削除します
13SUNION key1 [key2]
すべての指定された集合のユニオンを返します
14SUNIONSTORE destination key1 [key2]
すべての指定された集合のユニオンが destination 集合に保存されます
15SSCAN key cursor [MATCH pattern] [COUNT count]
集合内の要素を反復