laravel-performance-caching について
Laravel のフレームワークキャッシュ、値、クエリ結果を扱う開発スキルです。キーや有効期限、無効化、タグによる戦略を取り上げ、鮮度と正確性の両立を支援します。
主な機能
- 01フレームワークのルートや設定をキャッシュ
- 02値とクエリ結果を保存
- 03有効期限の設定
- 04安定したスコープ付きキーの使用
- 05タグで関連エントリーを無効化
活用シーン
- 01投稿の検索結果をキャッシュ
- 02テナントやロケール別のクエリ結果をキャッシュ
- 03書き込み後に関連キャッシュを削除
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ noartem/ skills --skill laravel-performance-cachingインストール後、Claude Code で/laravel-performance-cachingを入力して読み込まれたか確認します。
詳細
キャッシュの基本
フレームワークのキャッシュ
php artisan route:cache
php artisan config:cache
php artisan view:cache
デプロイ時に必要に応じて、対応するclearコマンドでクリアしてください。
値とクエリ
Cache::remember("post:{$id}", 600, fn () => Post::findOrFail($id));
- 最新性の要件に応じて TTL を選択します
- 正確性が重要な場合は、書き込み時に明示的に無効化します
パターンと戦略
// Stable keys and scopes (e.g., tenant, locale)
Cache::remember("tenant:{$tenantId}:users:index:page:1", now()->addMinutes(5), function () {
return User::with('team')->paginate(50);
});
// Tags (supported drivers) for grouped invalidation
Cache::tags(['users'])->remember('users.index.page.1', now()->addMinutes(5), fn () => ...);
Cache::tags(['users'])->flush();
// Locks to ensure exclusive expensive work
Cache::lock('reports:daily', 30)->block(5, function () {
generateReports();
});
- 安定した名前空間付きキーを使い、スコープを指定する要素があれば含めます
- サンダリングハードを防ぐため、
remember()を優先します - (サポートされている場合は)キャッシュタグを使って、関連するエントリーをまとめて無効化します
- 計画なしに、動的なデータやユーザー固有のデータをキャッシュすることは避けます
- キャッシュされたコードの近くに、無効化のトリガーを記載します
コメント
Markdown 対応