Cache Invalidation Patterns in Laravel: Tags, Stampede Protection and TTLs
Beyond basic Cache::remember calls: how to invalidate cached data correctly and avoid cache stampedes under load.
Beyond basic Cache::remember calls: how to invalidate cached data correctly and avoid cache stampedes under load.
How to change a production schema without locking tables or breaking the currently deployed code, using an expand-and-contract approach.
An introduction to writing Laravel feature and unit tests with Pest, including datasets, expectations and what's actually worth testing.
A practical approach to API versioning in Laravel using resource classes, so you can evolve a response shape without breaking existing clients.
How to use relationships, local scopes and query builder macros to keep business logic out of controllers and in models where it belongs.
A practical look at designing Laravel jobs that fail gracefully, retry sensibly, and leave a clear trail when they don't succeed.
A pre-launch security checklist for Laravel 11 and 12: configuration, authentication, input handling, uploads, headers and dependencies, with the code to fix each.
One endpoint was firing 62 queries per request. Here is how eager loading, Redis caching, indexes and rate limiting took it from 840 ms to under 100 ms.
One compose.yaml, four services and health checks that actually wait for MySQL. A practical local stack for Laravel that new teammates can run in minutes.