Claude Media
Claude CodeにRedisプラグインを入れて、設計とクエリのレビューを任せる

Claude CodeにRedisプラグインを入れて、設計とクエリのレビューを任せる

Redis公式のredis-developmentプラグインは、データ型選び・FT.SEARCH・クラスタ・ACLの指針をスキルとしてClaude Codeに渡します。導入、各スキルの守備範囲、依頼の書き方まで。

Redisのプラグイン「redis-development」は、Redis社が公式に公開しているスキル集です。入れると、Claude Codeが「Hashにするか、JSONにするか」「FT.CREATEのスキーマをどう組むか」「クラスタでCROSSSLOTが出たらどう直すか」といった場面で、Redis社の指針に沿って答えるようになります。

Redisに接続して操作するプラグインではありません。入るのはRedisの設計とクエリ作成の知識です。ここでは導入、8つのスキルの守備範囲、依頼の書き方、コードを書かせた後の確かめ方を順に説明します。

redis-developmentプラグインは何を追加するか

公式マーケットプレイスには、redis-developmentが「Redis development best practices — data structures, query engine, vector search, caching, and performance optimization」という説明で、カテゴリdatabaseとして載っています。提供元はRedisです。

中身はMITライセンスのredis/agent-skillsリポジトリにあるスキル群です。リポジトリのREADMEは、8つのスキルを次のように紹介しています。

スキル扱う内容
redis-core扱う内容データ構造、キー命名、メモリとTTL、アトミック操作、JSONとHash、StreamsとPub/Sub
redis-connections扱う内容プーリング、多重化、パイプライン、クライアント側キャッシュ、タイムアウト、遅いコマンド
redis-search扱う内容FT.CREATEのスキーマ、FT.SEARCH/FT.AGGREGATE/FT.HYBRID、DIALECT 2、ベクトル類似度、RAG
redis-semantic-cache扱う内容LangCacheによるLLM応答のキャッシュ、類似度しきい値、タスク別のキャッシュ分離
redis-clustering扱う内容ハッシュタグ、CROSSSLOTの回避、レプリカ読み取り
redis-security扱う内容認証とTLS、ACLの最小権限、ネットワークのbind、ファイアウォール、コマンドのリネーム
redis-observability扱う内容INFOの主要指標、SLOWLOG・MEMORY DOCTOR・FT.PROFILE、Redis Insight
iris-development扱う内容Iris(Redis Agent Memory)のプロビジョニング、SDK認証、セッションイベント、長期記憶検索

スキルの実体はSKILL.mdで、必要に応じてreferences/の長い資料を読み込む構成です。Claude Codeのスキルはdescriptionを見て自動で読み込まれるので、Redisに関係する質問をすれば該当のスキルが働きます。

導入する

READMEのClaude Code向けの手順は1行です。

/plugin install redis-development@claude-plugins-official

@claude-plugins-officialは公式マーケットプレイスの名前です。マーケットプレイスの追加方法やclaude plugin installの書式の違いは、claude plugin installの導入経路を選ぶで説明しています。公式マーケットプレイスにどんなプラグインが並ぶかは、公式マーケットプレイスのプラグイン一覧が参考になります。

Claude Code以外にも導線があります。READMEには、スキル単体を入れるnpx skills add redis/agent-skills、ChatGPTとCodex向けのパッケージ、Cursorで/add-plugin redisを使う方法が載っています。

プラグインのスキルは/プラグイン名:スキル名の名前空間で呼べます。Redisなら/redis-development:redis-coreの形です。自動で読み込まれるのを待たず、明示的に呼びたいときに使います。スキルの仕組み自体はClaude Codeのスキル解説を参照してください。

スキルごとの使いどころ

READMEの使用例は「Help me optimize this Redis query」「What data structure should I use for a leaderboard?」「Review my Redis connection handling」の3つです。いずれも質問やレビュー依頼として投げる使い方で、特別なコマンドは要りません。

データ型とキー名を決める(redis-core)

redis-coreは、データ型をアクセスパターンで選ぶ表を持っています。単純な値やカウンターはString、フィールドを個別に更新するオブジェクトはHash、ランキングはSorted Set、入れ子のデータはJSON、イベントログはStreamという具合です。

よくあるアンチパターンとして挙げているのが、フラットなオブジェクトをシリアライズした文字列に詰め込むことです。1フィールドを更新するだけでも、取得・パース・変更・書き戻しが必要になります。Hashにすれば避けられます。

キー名は{entity}:{id}:{attribute}の形で、小文字をコロンで区切ります。マルチテナントならtenant:42:user:7:cartのようにテナントを先頭に置き、スキャンやACLでテナント単位に狙えるようにします。

redis-searchは、3つのクエリコマンドの使い分けから始まります。

コマンド使う場面必要なRedis
FT.SEARCH使う場面文書の取得。既定の選択肢必要なRedis2.0(モジュール)/8.0(組み込み)
FT.AGGREGATE使う場面ファセット、計算フィールド、集計必要なRedis2.0 / 8.0
FT.HYBRID使う場面BM25とベクトル類似度の融合必要なRedis8.4.0

「ハイブリッド検索」と呼ばれるものを2つに分けているのも特徴です。属性で絞ってからベクトル比較する方式はどのバージョンでも使え、字句検索とベクトルを融合する方式はFT.HYBRIDでRedis 8.4以降になります。バージョンの違いを知らないままFT.HYBRIDを書かせると、手元のRedisで動かない可能性があるため、依頼時にバージョンを伝えると安全です。

無停止のスキーマ変更は、アプリのクエリをエイリアスに向けておき、新しいインデックスを作ってからFT.ALIASUPDATEで切り替える手順です。空の結果や遅いクエリにはFT.EXPLAINとFT.PROFILEを使います。

クラスタのCROSSSLOTを直す(redis-clustering)

Redis Clusterはキーを16,384個のスロットに振り分けます。複数キーを扱うMGET・トランザクション・パイプライン・Luaスクリプトは、全キーが同じスロットにないとCROSSSLOTエラーになります。

直し方はハッシュタグです。{と}の間だけがスロット計算に使われるので、次のように揃えます。

くらべる

ハッシュタグの有無でCROSSSLOTが分かれる

エラー

タグなし

user:1001:profileとuser:1001:settingsを同じパイプラインで読むと、クラスタではCROSSSLOTになります。

動く

タグあり

{user:1001}:profileと{user:1001}:settingsなら同じスロットに入り、複数キーの操作が通ります。

注意点も明記されています。タグは{user:1001}のようにエンティティ単位で付け、裸の{1001}は避けます。別の名前空間が同じスロットに集まるからです。全キーに付けるとホットスポットになるので、複数キー操作が要る範囲だけに付けます。

本番の守りを固める(redis-security)

redis-securityは、認証とTLS、ACL、ネットワーク制限の3つを同時に扱うよう求めています。どれか1つでは穴が残るという立場です。

ACLの例として、キャッシュ読み取り専用のユーザーは次のように定義します。

ACL SETUSER app_readonly on >password ~cache:* +get +mget +scan

アプリごとに専用のACLユーザーを作り、必要なコマンドとキーのパターンだけを許します。資格情報が漏れても、読み取り専用のパスワードではFLUSHALLを打てません。bind 0.0.0.0とprotected-mode noの組み合わせは、スキルが挙げる典型的なアンチパターンです。

LLM応答をキャッシュする(redis-semantic-cache)

redis-semantic-cacheは、Redis CloudのLangCacheを使った意味キャッシュを扱います。流れはcache-asideです。プロンプトをsearchし、ヒットすれば保存済みの応答を返し、ミスならLLMを呼んでsetします。

しきい値の目安は表のとおりです。

数字

LangCacheの類似度しきい値の目安

  • 0.95以上

    厳密

    誤答のコストが高い顧客向け回答

  • 0.9

    標準

    多くの用途で最初に試す値

  • 0.8

    緩め

    社内ツールやFAQの重複排除

タスクごとにキャッシュを分けるのも要点です。コードの質問とパスワード再設定の問い合わせを同じキャッシュに入れると、意味的に近いだけの無関係な応答が返ります。分けるには、キャッシュIDをタスクごとに作るか、カスタム属性で絞り込みます。なおスキルの記述では、LangCacheはRedis Cloudのプレビュー機能です。

依頼の書き方と、書かせた後の確かめ方

スキルは指針を渡すだけで、実際のRedisの状態は知りません。Redisのバージョン、単体かクラスタか、Redis Cloudかを依頼に書くほど、出力が実環境に近づきます。

次のように条件を添えると、スキルが参照する前提がそろいます。

Redis 8.2のクラスタ構成です。注文ごとにorderと明細を複数キーで持っています。
MGETでCROSSSLOTが出るので、redis-clusteringの指針に沿ってキー設計を直してください。
タグを付ける範囲は最小にして、変更前後のキー名を表にしてください。

プロジェクトのCLAUDE.mdには、Redisの前提を書いておくと毎回の説明が不要になります。

## Redis
- 本番はRedis Cluster(Redis 8.2)。複数キー操作はハッシュタグ必須
- キー名は小文字のコロン区切り。テナントIDを先頭に置く
- アプリ用のACLユーザーは最小権限。FLUSHALLとCONFIGは許可しない

書かせた後は、手元のRedisで実行して結果を読ませる反復が確実です。FT.CREATEを書かせたら、開発用のRedisに流してFT.INFOの出力を貼らせ、フィールド型が意図どおりか見ます。遅いと感じたらFT.PROFILEの結果を渡し、redis-observabilityの指針で読み解かせます。スキルの指針はベストプラクティスであって、本番の負荷で検証済みという意味ではありません。

MCPサーバーとの役割の違い

Redisには、実際にキーを読み書きするMCPサーバーもあります。両者は用途が別です。

  • プラグイン(スキル): 設計やクエリの書き方の指針を渡す。Redisに接続しない
  • MCPサーバー: Claudeからツール経由でRedisを操作する。接続文字列とACLが要る

設計をレビューさせたいだけなら、プラグインだけで足ります。実データを見ながら調べたいなら、Redis MCPサーバーの使い方の接続手順が必要です。Redis Cloudのサブスクリプション管理はRedis Cloud MCPサーバーが別に扱っています。両方入れると、指針に沿って書いたコマンドをMCP経由で実行する流れが作れますが、本番に向けるなら、MCP側の接続ユーザーを読み取り専用のACLに絞っておくのが前提です。

よくあるつまずき

  • スキルが働いていない気がする: 質問にRedisのコマンド名やデータ型を入れるか、/redis-development:redis-coreのように名前空間付きで呼びます。スキルはdescriptionに合う依頼で読み込まれます。
  • FT.HYBRIDがエラーになる: 融合検索は8.4.0以降です。古いバージョンでは、属性で絞ってからKNNを掛ける方式に落とします。
  • LangCacheが使えない: スキルによればRedis Cloud上のプレビュー機能です。Redisのコミュニティ版だけの環境では対象外になります。
  • Cursorの手順を流用した: /add-plugin redisはCursor用です。Claude Codeでは/plugin installを使います。

まとめ

redis-developmentは、Redisに接続せず、設計とクエリの指針をClaude Codeに足すプラグインです。導入は1コマンドで、効くのは「データ型とキー名を決める」「検索クエリを書く」「クラスタのエラーを直す」「ACLを組む」といった、Redis社の流儀が答えを分ける場面です。依頼にRedisのバージョンと構成を添え、書かせたコマンドは開発用のRedisで実行して出力を読ませると、指針のずれに早く気づけます。

この記事を共有:XはてブLinkedIn