Redis Set(セット)入門:データストア内のセット値を管理する主要コマンド15選
Redisにおけるセット(Set)は、重複しない一意な要素を格納する「順序を持たないコレクション」です。文字列型やリスト型と同様に、キーに対する値としてセットを保存でき、専用のコマンドを使って追加・管理・取得を行います。セットはメンバーシップ判定が高速で、タグ付けやユーザーIDの管理など、さまざまな場面で活用されています。
基本構文
Redisコマンドの基本的な書式は以下のとおりです。
redis host:port> <コマンド名> <キー名>
実行例

たとえば、SADDでセットに要素を追加し、SMEMBERSで全要素を確認できます。
redis 127.0.0.1:6379> SADD myset "apple" "banana" (integer) 2 redis 127.0.0.1:6379> SMEMBERS myset 1) "apple" 2) "banana"
Redisのセット操作コマンド一覧
Redisデータベース上のセット値を管理するための主要コマンドは以下のとおりです。
| No. | コマンド | 説明 |
|---|---|---|
| 1 | SADD | セットに1つ以上の要素を追加します |
| 2 | SCARD | セットのサイズ(要素数)を返します |
| 3 | SDIFF | 複数のセットに対して差集合演算を実行します |
| 4 | SDIFFSTORE | 複数のセットに対して差集合演算を実行し、結果を指定したキーに保存します |
| 5 | SINTER | 複数のセットに対して積集合演算を実行します |
| 6 | SINTERSTORE | 複数のセットに対して積集合演算を実行し、結果を指定したキーに保存します |
| 7 | SISMEMBER | 指定した要素がセットのメンバーであるかどうかを判定します |
| 8 | SMEMBERS | セットに含まれるすべての要素を返します |
| 9 | SMOVE | 要素をあるセットから別のセットへ移動します |
| 10 | SPOP | セットからランダムな要素を1つ取り除き、その要素を返します |
| 11 | SRANDMEMBER | セットから1つ以上のランダムな要素を返します(削除は行いません) |
| 12 | SREM | セットから1つ以上の要素を削除します |
| 13 | SUNION | 複数のセットに対して和集合演算を実行します |
| 14 | SUNIONSTORE | 複数のセットに対して和集合演算を実行し、結果を指定したキーに保存します |
| 15 | SSCAN | 大量のセット要素をブロッキングせずに段階的に反復処理します |
コマンド選択のポイント
- 要素の追加・削除には
SADD/SREMを使用します。 - 存在チェックが必要な場合は
SISMEMBERが高速に動作します。 - 集合演算(差・積・和)の結果をそのまま使うなら
SDIFF/SINTER/SUNION、結果を別キーに保存して再利用したい場合は*STORE系コマンドが便利です。 - ランダム抽出では、要素を削除してよい場合に
SPOP、残しておきたい場合にSRANDMEMBERを使い分けます。 - 大規模なセットを扱う際は
KEYSの代わりにSSCANを利用すると、サーバーへの負荷を抑えられます。
参考資料
- Redis公式ドキュメント:Setコマンド
以上が、Redisのセット値およびそれを保存・管理するためのコマンドの解説でした。この記事が役に立った場合は、ぜひコメント欄でご意見をお聞かせください。また、他の方へのシェアも歓迎します。
-
Redis文字列型コマンド徹底解説 – データストアの文字列値を管理する全24コマンド
文字列(String)は文字が連なったデータであり、Redisにおける最も基本的かつ重要なデータ型の一つです。Redisでは、キーに対して文字列を値として保存することができ、専用のコマンドを使うことで、その保存・管理・取得を柔軟に行えます。本記事では、Redisデータベース内の文字列値を操作するための主要なコマンドを、構文や使用例とあわせて詳しく解説します。 基本構文 redis host:port> <コマンド名> <キー名> 使用例 Redis文字列値の管理コマンド一覧 以下は、Redisデータベース内の文字列値を管理するうえで重要なコマンドの一覧です。用途
-
Redisでキーに文字列値を設定する方法を徹底解説 – SET / SETNX / SETEX / PSETEX コマンドの使い方
このチュートリアルでは、Redisのデータストア上で指定したキーに文字列値を設定する方法について、SET、SETNX、SETEX、PSETEX の4つのコマンドを使って詳しく解説します。それぞれのコマンドの動作の違いや使い分けのポイントもあわせて紹介するので、Redisの文字列操作をマスターしたい方はぜひ参考にしてください。 SETコマンドとは SETコマンドは、指定したキーに文字列値を設定するための最も基本的なコマンドです。キーがすでに存在する場合は、その型に関係なく値が上書きされます。また、キーに設定されていた以前の有効期限(TTL)も削除される点に注意が必要です。 SETコマンドのオプシ