laravel:performance-caching
SkillDev toolsUse framework caches and value/query caching to reduce work; add tags, locks, and explicit invalidation strategies for correctness
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the laravel:performance-caching skill
What this skill tells your AI
The instructions your AI receives, as published by jpcaparas/superpowers-laravel in skills/performance-caching/SKILL.md and read by ahel’s review.
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
Laravel 13+
// Extend TTL without re-fetching/re-storing the value
Cache::touch('user_session:123', 3600);
Cache::touch('analytics_data', now()->addHours(6));
// Filesystem-backed "storage" cache driver (e.g., S3 as a K/V store)
// config/cache.php
'storage' => [
'driver' => 'storage',
'disk' => env('CACHE_STORAGE_DISK', 's3'),
'path' => env('CACHE_STORAGE_PATH', 'framework/cache/data'),
],
- Security default:
serializable_classesisfalseinconfig/cache.php; allow-list classes you cache as objects - Default cache/Redis prefixes changed underscores → hyphens in 13.x; pin
CACHE_PREFIX/REDIS_PREFIXexplicitly to avoid cold caches on upgrade
Signals
- GitHub stars
- 153
- Forks
- 2
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
laravel-performance-caching- Source
- github.com/jpcaparas/superpowers-laravel