Redis: Redis サンプル集
Redis サンプル集
1. キャッシュアプリケーション
▶ サンプル
基本的なキャッシュ操作:
BASH
127.0.0.1:6379> SET cache:user:1 '{"name":"Alice","age":25}'
OK
127.0.0.1:6379> EXPIRE cache:user:1 3600
(integer) 1
127.0.0.1:6379> GET cache:user:1
'{"name":"Alice","age":25}'
127.0.0.1:6379> DEL cache:user:1
(integer) 1
❓ よくある質問
Q Redisはキャッシュに適していますか?
A 非常に適しています。Redisはメモリベースで読み書きが非常に速く、有効期限と淘汰ポリシーをサポートしており、キャッシュに最適です。
Q Redisで分散ロックを実装するには?
A SETコマンドのNXとEXパラメータを使用:
SET lock:resource "locked" NX EX 10で、アトミックにロックを取得し有効期限を設定します。Q KEYSコマンドが本番で無効な理由は?
A KEYSはキー空間全体をスキャンし、データ量大時にサーバーをブロックする可能性があります。代わりにSCANコマンドを使用してください。
📖 まとめ
- Redisはキャッシュ、キュー、ランキング、レート制限などに使用可能
- 文字列型はキャッシュとカウンターに適している
- ハッシュ型はオブジェクトとカートの保存に適している
- リスト型はメッセージキューに適している
- セット型はソーシャル関係とタグに適している
- ソート済みセット型はランキングに適している
📝 練習問題
- キャッシュ練習: 1時間の有効期限付きユーザー情報キャッシュを実装
- カウンター練習: インクリメントと取得をサポートする記事閲覧カウンターを実装
- ランキング練習: ソート済みセットでスコア更新とランク照会をサポートするゲームランキングを実装