redis-inspect について
デバッグ時に Redis キャッシュの状態を調べるコマンドラインスキルです。メインキャッシュとシステムキャッシュのキーや一般的なデータ型を読み取り、削除には書き込みフラグを要求します。
主な機能
- 01値、キー、TTL、キー型の確認
- 02ハッシュ、セット、リストの読み取り
- 03メインまたはシステムキャッシュの選択
- 04件数制限と JSON 出力
- 05キー削除に --writable を要求
活用シーン
- 01ユーザーセッションの存在確認
- 02生成状態や機能フラグの調査
- 03キーの有効期限やキャッシュ内容の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ civitai/ civitai --skill redis-inspectインストール後、Claude Code で/redis-inspectを入力して読み込まれたか確認します。
同梱ファイル.env.examplequery.mjs
詳細
Redis キャッシュインスペクター
デバッグ目的で Redis キャッシュの状態を調べるには、このスキルを使用します。
コマンドの実行
node .claude/skills/redis-inspect/query.mjs <command> [options]
コマンド
| コマンド | 説明 |
|---|---|
get <key> | 文字列値を取得します |
keys <pattern> | パターンに一致するキーを検索します(ワイルドカードとして * を使用) |
ttl <key> | TTL を取得します(-1 = 有効期限なし、-2 = 見つかりません) |
type <key> | キーの型を取得します |
exists <key> | キーが存在するか確認します |
hgetall <key> | ハッシュのすべてのフィールドを取得します |
hget <key> <field> | 指定したハッシュフィールドを取得します |
scard <key> | セットの要素数を取得します |
smembers <key> | セットのすべての要素を取得します |
llen <key> | リストの長さを取得します |
lrange <key> | リストの要素を取得します |
del <key> | キーを削除します(--writable が必要です) |
info | Redis サーバーの情報を取得します |
オプション
| フラグ | 説明 |
|---|---|
--sys | メインキャッシュの代わりにシステムキャッシュを使用します |
--writable | 書き込み操作を許可します(del に必要です) |
--json | 生の JSON を出力します |
--limit <n> | 結果数を制限します(デフォルト:100) |
キャッシュの種類
このプロジェクトには、2 つの Redis インスタンスがあります。
| キャッシュ | フラグ | 環境変数 | 用途 |
|---|---|---|---|
| メインキャッシュ | (デフォルト) | REDIS_URL | 通常のキャッシュ。クラスターモードで、データが失われる可能性があります |
| システムキャッシュ | --sys | REDIS_SYS_URL | 永続的なシステム値。シングルノード |
メインキャッシュ(デフォルト)
通常のアプリケーションキャッシュです。データが失われても再生成できます。
- ユーザーセッション
- キャッシュされたクエリ
- 一時データ
- レート制限カウンター
システムキャッシュ(--sys)
永続的なシステム設定と状態を保存します。より重要なデータです。
- 機能フラグ
- 生成の上限/ステータス
- システム権限
- ジョブの状態
- イベント設定
例
# Find keys matching a pattern
node .claude/skills/redis-inspect/query.mjs keys "user:*" --limit 20
node .claude/skills/redis-inspect/query.mjs keys "packed:caches:*"
# Get a value
node .claude/skills/redis-inspect/query.mjs get "session:data2:123456"
# Check system cache values
node .claude/skills/redis-inspect/query.mjs --sys get "system:features"
node .claude/skills/redis-inspect/query.mjs --sys hgetall "system:entity-moderation"
# Check TTL
node .claude/skills/redis-inspect/query.mjs ttl "generation:count:123"
# Inspect a hash
node .claude/skills/redis-inspect/query.mjs hgetall "packed:caches:cosmetics"
node .claude/skills/redis-inspect/query.mjs hget "system:entity-moderation" "entities"
# Check set size
node .claude/skills/redis-inspect/query.mjs scard "queues:seen-images"
# Get server info
node .claude/skills/redis-inspect/query.mjs info
node .claude/skills/redis-inspect/query.mjs --sys info
よく使用するキーのパターン
メインキャッシュ
| パターン | 説明 |
|---|---|
user:* | ユーザーデータ |
session:* | セッションデータ |
packed:caches:* | パック/圧縮されたキャッシュデータ |
packed:user:* | パックされたユーザーキャッシュ |
generation:* | 生成関連のキャッシュ |
tag:* | タグキャッシュ |
システムキャッシュ
| パターン | 説明 |
|---|---|
system:* | システム設定 |
generation:* | 生成の上限/ステータス |
download:limits | ダウンロード制限 |
job:* | ジョブの状態 |
event:* | イベント設定 |
new-order:* | New Order のゲーム状態 |
daily-challenge:* | デイリーチャレンジの設定 |
デバッグのヒント
# Check if a user's session exists
node .claude/skills/redis-inspect/query.mjs keys "session:data2:*" --limit 10
# Check generation status
node .claude/skills/redis-inspect/query.mjs --sys get "generation:status"
# Check feature flags
node .claude/skills/redis-inspect/query.mjs --sys hgetall "system:features"
# Check cache memory usage
node .claude/skills/redis-inspect/query.mjs info
書き込み操作
書き込み操作には --writable フラグとユーザーの承認が必要です。
# Delete a specific key (requires approval)
node .claude/skills/redis-inspect/query.mjs del "some:key" --writable
重要:--writable を使用する前に、必ずユーザーに許可を求めてください。
コメント
Markdown 対応