Redis とは
インメモリデータストア
Redisは、データベース、キャッシュ、メッセージブローカーとして使用される高性能なオープンソースのインメモリデータストアです。
データ構造
- Strings — シンプルな文字列と数値
- Lists — 連結リスト
- Sets — ユニークな順不同要素
- Sorted Sets — スコア付き順序付きセット
- Hashes — キーバリュー辞書
- Streams — イベントストリーム(イベントログ)
主な機能
- 速度:毎秒100,000+オペレーション
- 永続化:RDBスナップショットとAOFログ
- レプリケーション:マスター・スレーブ、Redis Sentinel
- クラスタリング:Redis Cluster(シャーディング)
- Pub/Sub:メッセージのパブリッシュとサブスクライブ
- Luaスクリプト:アトミックトランザクション
ユースケース
- キャッシング — セッション、APIレスポンス、クエリ結果
- タスクキュー — バックグラウンド処理、ジョブキュー
- レート制限 — APIリクエスト制限
- リーダーボード — ランキングとトップ
- リアルタイム分析 — カウンター、メトリクス
- ジオロケーション — 座標ベースの検索
コマンド
- SET/GET — 文字列の操作
- LPUSH/RPOP — キュー
- SADD/SMEMBERS — セット
- ZADD/ZRANGE — ソートセット
- HSET/HGET — ハッシュ