Skip to content
Back to skills

Performance Caching

ASecurity

Use framework caches and value/query caching to reduce work; add tags, locks, and explicit invalidation strategies for correctness

  • 147 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 6, 2026
devopsphpperformance

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add jpcaparas/superpowers-laravel --skill performance-caching --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Performance Caching?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Performance Caching
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jpcaparas-performance-caching/badge)](https://www.skillsdirectory.com/skills/jpcaparas-performance-caching)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: laravel:performance-caching
description: Use framework caches and value/query caching to reduce work; add tags, locks, and explicit invalidation strategies for correctness
---

# 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

```php
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

```php
// 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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.