Redis adalah in-memory data store yang sangat cepat, ideal untuk caching, session, dan queue di Laravel.
Instalasi dan Konfigurasi
composer require predis/predis
.env:
CACHE_DRIVER=redis SESSION_DRIVER=redis QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1 REDIS_PORT=6379
Pattern Caching yang Umum
// Cache-aside pattern
$users = Cache::remember('users:active', 3600, function () {
return User::active()->get();
});
// Cache dengan tags (perlu Redis/Memcached) Cache::tags(['users', 'admin'])->remember('users:admins', 3600, fn() => User::role('admin')->get() );
// Flush by tag Cache::tags('users')->flush();
Cache Key Convention
Gunakan format yang konsisten:
{model}:{identifier} {model}:{identifier}:{relation} {resource}:page_{n}:filter_{x}
Hindari Cache Stampede
Gunakan Cache::flexible() di Laravel 11+:
Cache::flexible('expensive-query', [300, 600], fn() => ExpensiveQuery::run() );