概要
Redis(レディス) は、高速にデータを読み書きできる「インメモリ型」のデータベースです。
一時的なデータの保存や、高速アクセスが求められる場面でよく使われます。
キャッシュ(データの一時保存)やリアルタイム処理などに強く、
Webサービスやゲーム、チャットアプリなどで活躍しています。
正式名称
Remote Dictionary Server(リモート・ディクショナリ・サーバー)
略称
Redis(レディス)
特徴
- インメモリ型:データをメモリ上に保存するため、非常に高速
- キーと値(Key-Value)形式でデータを保存
- 多様なデータ構造をサポート(文字列、リスト、セット、ハッシュ、ソート済みセットなど)
- 永続化機能あり:メモリ上のデータをディスクに保存することも可能
- 分散処理対応:Redis Clusterを使えばスケーラブルな構成が可能
- シンプルなコマンド体系で操作が直感的
- オープンソース:無料で使用できる
- Pub/Sub(パブリッシュ/サブスクライブ)機能によるメッセージ通信も可能
具体例
例1:Webアプリのログインセッション管理
ユーザーがログインしたときにセッション情報をRedisに保存することで、
高速にユーザー状態を判定できる。
キー:session:user123
値:{"login": true, "name": "Taro"}
例2:アクセスランキング(ソート済みセット)
記事のアクセス数に応じて順位を管理できる。
ZADD article_ranking 100 "記事A"
ZADD article_ranking 150 "記事B"
ZREVRANGE article_ranking 0 1 WITHSCORES
→ "記事B", "150", "記事A", "100"
例3:チャットアプリでのリアルタイムメッセージ送信
Pub/Subを使って、ユーザー間でリアルタイムなメッセージ配信ができる。
PUBLISH chat_room_1 "こんにちは!"
SUBSCRIBE chat_room_1
→ メッセージ受信