mcpField
C
caching-strategy

caching-strategy

github.com/aj-geddes開発373547 回インストール34 週間前に更新
リポジトリ

caching-strategy について

アプリケーションのパフォーマンス改善とバックエンド負荷の軽減を目指す開発者向けのキャッシュ戦略スキルです。キャッシュパターンや無効化戦略、複数の実装方法を案内します。

主な機能

  1. 01Node.js の Redis キャッシュ
  2. 02Python キャッシュデコレーター
  3. 03マルチレベルキャッシュ
  4. 04キャッシュ無効化戦略
  5. 05HTTP キャッシュヘッダー

活用シーン

  1. 01データベースクエリ負荷の軽減
  2. 02API 応答時間の改善
  3. 03高コストな計算結果のキャッシュ
  4. 04分散キャッシュの導入

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill caching-strategy

インストール後、Claude Code で/caching-strategyを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cache-decorator-python.md
cache-invalidation-strategies.md
http-caching-headers.md
multi-level-cache.md
redis-cache-implementation-nodejs.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

詳細

キャッシュ戦略

目次

概要

効果的なキャッシュ戦略を実装して、アプリケーションのパフォーマンスを向上させ、レイテンシを削減し、バックエンドシステムの負荷を軽減します。

使用する場面

  • データベースクエリの負荷を軽減する
  • API の応答時間を改善する
  • 高トラフィックの負荷に対応する
  • コストの高い計算結果をキャッシュする
  • セッションデータを保存する
  • 静的アセットに CDN を統合する
  • 分散キャッシュを実装する
  • レート制限とスロットリングを実装する

クイックスタート

最小限の動作例:

import Redis from "ioredis";

interface CacheOptions {
  ttl?: number; // Time to live in seconds
  prefix?: string;
}

class CacheService {
  private redis: Redis;
  private defaultTTL = 3600; // 1 hour

  constructor(redisUrl: string) {
    this.redis = new Redis(redisUrl, {
      retryStrategy: (times) => {
        const delay = Math.min(times * 50, 2000);
        return delay;
      },
      maxRetriesPerRequest: 3,
    });

    this.redis.on("connect", () => {
      console.log("Redis connected");
    });

    this.redis.on("error", (error) => {
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります:

ガイド内容
Redis キャッシュの実装(Node.js)Redis キャッシュの実装(Node.js)
キャッシュデコレーター(Python)キャッシュデコレーター(Python)
マルチレベルキャッシュマルチレベルキャッシュ
キャッシュ無効化戦略キャッシュ無効化戦略
HTTP キャッシュヘッダーHTTP キャッシュヘッダー

ベストプラクティス

✅ 推奨事項
  • 適切な TTL 値を設定する
  • 重要なデータに対してキャッシュウォーミングを実装する
  • 読み取りにはキャッシュアサイドパターンを使用する
  • キャッシュヒット率を監視する
  • キャッシュ障害時に適切に縮退する処理を実装する
  • 大きなキャッシュ値には圧縮を使用する
  • キャッシュキーを適切に名前空間で分ける
  • キャッシュスタンピードを防止する仕組みを実装する
  • 分散キャッシュには一貫性ハッシュを使用する
  • キャッシュのメモリ使用量を監視する
❌ 避けるべき事項
  • 無差別にすべてをキャッシュする
  • データベース設計の不備をキャッシュで解決しようとする
  • 暗号化せずに機密データを保存する
  • キャッシュミスへの対処を忘れる
  • 頻繁に変更されるデータに長すぎる TTL を設定する
  • キャッシュ無効化戦略を無視する
  • 監視せずにキャッシュを使用する
  • 検討なしに大きなオブジェクトを保存する

コメント