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
- 01Cache framework routes and configuration
- 02Store values and query results
- 03Choose expiration times
- 04Use stable scoped cache keys
- 05Invalidate related entries with tags
Use cases
- 01Caching a post lookup
- 02Caching tenant- and locale-scoped query results
- 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-cachingAfter installing, type/laravel-performance-cachingin Claude Code to confirm it loaded.
Details
From the project READMECaching 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