query-caching-strategies について
Redis、Memcached、データベースレベルのキャッシュを使ったクエリキャッシュ設計のスキルです。キャッシュ無効化、TTL、キャッシュウォーミングを扱い、データベース負荷や応答時間の低減に役立ちます。
主な機能
- 01Redis と Memcached のキャッシュ
- 02データベースレベルのクエリキャッシュ
- 03キャッシュ無効化パターン
- 04TTL 戦略
- 05キャッシュウォーミング
活用シーン
- 01頻繁なクエリ結果のキャッシュ
- 02読み取り負荷の高いシステムでのDB負荷軽減
- 03応答時間の改善
- 04分散キャッシュ方式の選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill query-caching-strategiesインストール後、Claude Code で/query-caching-strategiesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/event-based-invalidation.mdmemcached-caching.mdmysql-query-cache.mdpostgresql-query-cache.mdredis-caching-with-postgresql.mdtime-based-invalidation.mdscripts/validate-schema.shtemplates/migration-template.sql詳細
クエリキャッシュ戦略
目次
概要
Redis、Memcached、データベースレベルのキャッシュを使用した多層キャッシュ戦略を実装します。キャッシュの無効化、TTL 戦略、キャッシュウォーミングのパターンを扱います。
使用する場面
- クエリ結果のキャッシュ
- 読み取り負荷の高いワークロードの最適化
- データベース負荷の軽減
- 応答時間の改善
- キャッシュレイヤーの選定
- キャッシュ無効化のパターン
- 分散キャッシュのセットアップ
クイックスタート
最小限の動作例:
// Node.js example with Redis
const redis = require("redis");
const client = redis.createClient({
host: "localhost",
port: 6379,
db: 0,
});
// Get user with caching
async function getUser(userId) {
const cacheKey = `user:${userId}`;
// Check cache
const cached = await client.get(cacheKey);
if (cached) return JSON.parse(cached);
// Query database
const user = await db.query("SELECT * FROM users WHERE id = $1", [userId]);
// Cache result (TTL: 1 hour)
await client.setex(cacheKey, 3600, JSON.stringify(user));
return user;
}
// Cache warming on startup
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| PostgreSQL での Redis キャッシュ | PostgreSQL での Redis キャッシュ |
| Memcached キャッシュ | Memcached キャッシュ |
| PostgreSQL クエリキャッシュ | PostgreSQL クエリキャッシュ |
| MySQL クエリキャッシュ | MySQL クエリキャッシュ |
| イベントベースの無効化 | イベントベースの無効化 |
| 時間ベースの無効化 | 時間ベースの無効化、LRU キャッシュの削除 |
ベストプラクティス
✅ 推奨事項
- 確立されたパターンや規約に従います
- クリーンで保守しやすいコードを書きます
- 適切なドキュメントを追加します
- デプロイ前に十分にテストします
❌ 避けるべきこと
- テストや検証を省略する
- エラー処理を無視する
- 設定値をハードコードする
コメント
Markdown 対応