Redisコマンド:包括的な概要
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Redisは、文字列、リスト、セット、ハッシュ、ソート済みセットなど、さまざまなデータ型に特化したコマンドを提供します。
- 効果的なキー管理とトランザクションは、Redisのパフォーマンスとデータの整合性を最適化するために重要です。
- コアコマンドを理解することで、Redisでの効率的なデータの保存、検索、および操作が可能になります。
Redisは、オープンソースのインメモリデータ構造ストアであり、データベース、キャッシュ、およびメッセージブローカーとして広く使用されています。これは、その多様なデータ型に合わせて調整された豊富なコマンドセットを提供し、効率的なデータ操作と検索を可能にします。このガイドでは、データ型と機能で分類された、不可欠なRedisコマンドの概要を説明します。
1. 文字列コマンド
文字列は最も基本的なRedisデータ型であり、最大512 MBのテキストまたはバイナリデータを保存できます。(Redisコマンドの完全ガイド | GeeksforGeeks)
- SET key value: 値をキーに割り当てます。
SET mykey "Hello"
- GET key: キーの値を取得します。
GET mykey
- DEL key [key ...]: 1つ以上のキーを削除します。
DEL mykey
- EXISTS key: キーが存在するかどうかを確認します。
EXISTS mykey
- INCR key / DECR key: キーの整数値を増分または減分します。
INCR counter DECR counter
- APPEND key value: 既存のキーに値を追加します。
APPEND mykey " World"
- TTL key: キーの有効期限が切れるまでの残り時間を秒単位で返します。
TTL mykey
- EXPIRE key seconds: キーの有効期限を秒単位で設定します。
EXPIRE mykey 60
(Redisコマンドの完全ガイド | GeeksforGeeks, Redis基本コマンドチュートリアル - KoderHQ)
2. リストコマンド
Redisリストは、リンクされたリストとして実装された、文字列の順序付けられたコレクションです。(Redisリスト - Tutorialspoint)
- LPUSH key value [value ...]: 1つまたは複数の値をリストの先頭に追加します。
LPUSH mylist "World" LPUSH mylist "Hello"
- RPUSH key value [value ...]: 1つまたは複数の値をリストの末尾に追加します。
RPUSH mylist "!"
- LRANGE key start stop: リストから要素の範囲を取得します。
LRANGE mylist 0 -1
- LPOP key / RPOP key: リストの最初または最後の要素を削除して返します。
LPOP mylist RPOP mylist
- LLEN key: リストの長さを返します。
LLEN mylist
- LSET key index value: インデックスにあるリスト要素をvalueに設定します。
LSET mylist 0 "Hi"
- LREM key count value: リストから valueに等しい要素を削除します。
LREM mylist 1 "Hello"
- LTRIM key start stop: リストを指定された範囲にトリムします。
LTRIM mylist 0 1
3. セットコマンド
セットは、一意の文字列の順序付けられていないコレクションです。
- SADD key member [member ...]: 1つまたは複数のメンバーをセットに追加します。
SADD myset "Hello" "World"
- SMEMBERS key: セットのすべてのメンバーを返します。
SMEMBERS myset
- SISMEMBER key member: 指定された値がセットのメンバーであるかどうかを判断します。
SISMEMBER myset "Hello"
- SREM key member [member ...]: セットから1つまたは複数のメンバーを削除します。
SREM myset "Hello"
- SCARD key: セットのカーディナリティ(要素の数)を返します。
SCARD myset
- SUNION key [key ...]: 指定されたすべてのセットの和集合を返します。
SUNION set1 set2
- SINTER key [key ...]: 指定されたすべてのセットの積集合を返します。
SINTER set1 set2
- SDIFF key [key ...]: 最初のセットと後続のすべてのセットの差を返します。
SDIFF set1 set2
(コマンド | ドキュメント - Redis, Redisチートシートとクイックリファレンス)
4. ハッシュコマンド
ハッシュは、文字列フィールドと文字列値の間のマップであり、オブジェクトの表現に最適です。(Redisコマンド - Tutorialspoint)
- HSET key field value [field value ...]: キーに格納されているハッシュのフィールドにvalueを設定します。
HSET user:1000 name "John" age "30"
- HGET key field: ハッシュ内のフィールドの値を取得します。
HGET user:1000 name
- HMGET key field [field ...]: 指定されたすべてのフィールドの値を取得します。
HMGET user:1000 name age
- HGETALL key: ハッシュ内のすべてのフィールドと値を取得します。
HGETALL user:1000
- HDEL key field [field ...]: 1つまたは複数のハッシュフィールドを削除します。
HDEL user:1000 age
- HEXISTS key field: ハッシュフィールドが存在するかどうかを判断します。
HEXISTS user:1000 name
- HLEN key: ハッシュ内のフィールドの数を返します。
HLEN user:1000
5. ソート済みセット(ZSet)コマンド
ソート済みセットはセットに似ていますが、すべてのメンバーが関連付けられたスコアを持っており、ソートされた検索が可能です。
- ZADD key score member [score member ...]: ソート済みセットに1つまたは複数のメンバーを追加するか、すでに存在する場合はそのスコアを更新します。
ZADD leaderboard 100 "Player1" 200 "Player2"
- ZRANGE key start stop [WITHSCORES]: インデックスで、ソートされたセットのメンバーの範囲を返します。
ZRANGE leaderboard 0 -1 WITHSCORES
- ZREVRANGE key start stop [WITHSCORES]: スコアが高いものから低いものへと順序付けられたスコアで、インデックスで、ソートされたセットのメンバーの範囲を返します。
ZREVRANGE leaderboard 0 -1 WITHSCORES
- ZSCORE key member: ソートされたセットのメンバーのスコアを返します。
ZSCORE leaderboard "Player1"
- ZREM key member [member ...]: ソートされたセットから1つまたは複数のメンバーを削除します。
ZREM leaderboard "Player1"
- ZCARD key: ソートされたセット内のメンバーの数を返します。
ZCARD leaderboard
- ZRANK key member: ソートされたセット内のメンバーのインデックスを決定します。
ZRANK leaderboard "Player2"
6. キー管理コマンド
これらのコマンドは、Redisでキーを管理するために使用されます。
- KEYS pattern: 指定されたパターンに一致するすべてのキーを検索します。
KEYS user:*
- SCAN cursor [MATCH pattern] [COUNT count]: キー空間を段階的に反復処理します。
SCAN 0 MATCH user:*
- RENAME key newkey: キーの名前を変更します。
RENAME oldkey newkey
- EXPIRE key seconds: キーにタイムアウトを設定します。
EXPIRE mykey 60
- TTL key: キーの有効期限が切れるまでの残り時間を返します。
TTL mykey
- TYPE key: キーに格納されている値のデータ型を返します。
TYPE mykey
(Redisコマンドの完全ガイド | GeeksforGeeks)
7. トランザクションコマンド
Redisは、アトミックに実行されるコマンドのグループを介してトランザクションをサポートします。
- MULTI: トランザクションブロックの開始をマークします。
MULTI
- EXEC: MULTIの後に発行されたすべてのコマンドを実行します。
EXEC
- DISCARD: トランザクションで以前にキューに入れられたすべてのコマンドをフラッシュします。
DISCARD
- WATCH key [key ...]: MULTI/EXECブロックの実行を決定するために、指定されたキーを監視します。
FAQs
KEYS
、EXPIRE
、TTL
、およびRENAME
のようなコマンドは、Redisキーを効率的に管理するのに役立ちます。
Redisは、グループ化されたコマンドのアトミックな実行を保証するために、MULTI
、EXEC
、WATCH
、およびDISCARD
コマンドを使用します。
ソートされたセットは、スコアを使用して一意の要素を格納し、スコアに基づいて順序付けられた検索を可能にします。
Leapcellは、バックエンドプロジェクトをホストするための最良の選択肢です。
Leapcellは、ウェブホスティング、非同期タスク、およびRedisのための次世代サーバーレスプラットフォームです。
多言語のサポート
- Node.js、Python、Go、またはRustで開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ料金を支払います — リクエストも料金もありません。
無敵のコスト効率
- アイドル料金なしで、従量課金制。
- 例:25ドルは、平均応答時間60msで694万のリクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI/CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムメトリックとロギング。
簡単なスケーラビリティと高いパフォーマンス
- 高い同時実行を簡単に処理するための自動スケーリング。
- 運用上のオーバーヘッドなし — 構築に集中するだけです。
ドキュメントでもっと調べてください!
Xでフォローしてください:@LeapcellHQ