mcpField
L
laravel-performance-caching

laravel-performance-caching

github.com/noartemDevelopment1376 installsUpdated 3w ago
Repository

About laravel-performance-caching

A Laravel skill for framework caching, cached values, and query results. It covers cache keys, expiration, invalidation, and strategies such as tags to help developers balance freshness and correctness.

Key features

  1. 01Cache framework routes and configuration
  2. 02Store values and query results
  3. 03Choose expiration times
  4. 04Use stable scoped cache keys
  5. 05Invalidate related entries with tags

Use cases

  1. 01Caching a post lookup
  2. 02Caching tenant- and locale-scoped query results
  3. 03Clearing related cached entries after writes

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/noartem/skills --skill laravel-performance-caching

After installing, type/laravel-performance-cachingin Claude Code to confirm it loaded.

Details

From the project README

Caching Basics

Framework caches

php artisan route:cache
php artisan config:cache
php artisan view:cache

Clear with the corresponding clear commands when needed in deployments.

Values and queries

Cache::remember("post:{$id}", 600, fn () => Post::findOrFail($id));
  • Choose TTLs based on freshness requirements
  • Invalidate explicitly on writes when correctness matters

Patterns and Strategies

// 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();
});
  • Use stable, namespaced keys; include any scoping dimension
  • Prefer remember() to prevent thundering herds
  • Use cache tags (if supported) to invalidate related entries together
  • Avoid caching highly dynamic or user-specific data without a plan
  • Document invalidation triggers next to cached code

Comments

Markdown supported