redis について
redis は、Redis を扱う開発者向けのスキルです。データ構造やコマンドに加え、キャッシュ、レート制限、永続化、高可用性の設定方法を案内します。
主な機能
- 01Redis のデータ構造とコマンド
- 02キャッシュ、セッション、キューのパターン
- 03RDB、AOF、レプリケーションの設定
- 04Sentinel と Redis Cluster の設定
- 05Lua によるアトミック操作
- 06接続ドライバーとプーリングの指針
活用シーン
- 01キャッシュ値に有効期限を設定
- 02ソート済みセットでレート制限
- 03永続化とレプリカを設定
- 04redis-cli やドライバーで接続
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill redisインストール後、Claude Code で/redisを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txt
詳細
このスキルを使う場面
次のような場合に、このスキルを使ってください。
- Redis のデータ構造(文字列、ハッシュ、リスト、セット、ソート済みセット)とコマンドを使用する
- Redis でキャッシュ、セッションストレージ、レート制限、メッセージキューを実装する
- 永続化(RDB/AOF)、レプリケーション、Sentinel、Redis Cluster を設定する
- Redis のアトミックな操作を実行する Lua スクリプトを作成する
- redis-cli または言語別ドライバー(コネクションプーリング、シリアライゼーション)で接続する
このスキルの使い方
ワークフロー
- ユースケースを特定する - キャッシュ、セッションストア、キュー、Pub/Sub、またはデータ構造
- データ構造を選択する - 単純な値には String、オブジェクトには Hash、キューには List、ランキングには Sorted Set を使用します
- 適切なコマンドで実装する - 以下のパターンを使用します
- 永続化とレプリケーションを設定する - 耐久性の要件に基づいて設定します
クイックスタート例:TTL を使ったキャッシュ
# Set a cache entry with 5-minute TTL
redis-cli SET user:1001:profile '{"name":"Alice","role":"admin"}' EX 300
# Retrieve the cached value
redis-cli GET user:1001:profile
# Check remaining TTL
redis-cli TTL user:1001:profile
Sorted Set を使ったレート制限
# Add request timestamp to sorted set
redis-cli ZADD rate:user:1001 1710000000 "req1"
# Count requests in the last 60 seconds
redis-cli ZRANGEBYSCORE rate:user:1001 1709999940 1710000000
# Remove expired entries
redis-cli ZREMRANGEBYSCORE rate:user:1001 0 1709999940
ベストプラクティス
- 名前空間付きキーを使用する -
service:entity:id:fieldの形式にします(例:app:user:1001:session) - 必ず TTL を設定する - 古いデータによるメモリーリークを防ぎます。SET では
EX/PXを使用します - 大きなキーを避ける - 1MB を超えるハッシュは分割します。本番環境では KEYS ではなく SCAN を使用します
- 永続化方式を適切に選択する - スナップショットには RDB(再起動が高速)、耐久性には AOF(書き込みごと)を使用します
- 本番環境を保護する - パスワードを必須にし(
requirepass)、プライベート IP にバインドし、FLUSHALLを無効にします
キーワード
redis, cache, caching, キャッシュ, data structures, データ構造, pub/sub, sentinel, cluster, マスター/レプリカ, クラスター, rate limiting, session store, Lua scripting
コメント
Markdown 対応