GlosarioArquitectura

¿Qué es Cache?

El sistema Cache de Laravel proporciona una API unificada para almacenar datos en memoria usando drivers como Redis, Memcached, DynamoDB o archivos, mejorando el rendimiento al evitar consultas repetidas a la base de datos.

Cache

El sistema de cache de Laravel ofrece una API unificada para varios backends de almacenamiento, permitiendo mejorar drasticamente el rendimiento de la aplicacion.

Operaciones basicas

use Illuminate\Support\Facades\Cache;

// Guardar en cache
Cache::put('key', 'value', now()->addHours(1));
Cache::forever('config', $config);

// Obtener del cache
$value = Cache::get('key', 'default');

// Obtener o calcular (patron mas comun)
$posts = Cache::remember('popular_posts', 3600, function () {
    return Post::popular()->with('author')->limit(10)->get();
});

// Verificar y eliminar
if (Cache::has('key')) { /* ... */ }
Cache::forget('key');
Cache::flush(); // Borrar todo el cache

Cache tags (solo Redis/Memcached)

Cache::tags(['posts', 'author:1'])->put('post:1', $post, 3600);
Cache::tags(['posts'])->flush(); // Borrar solo posts

Atomic Locks

$lock = Cache::lock('processing-order', 10);

if ($lock->get()) {
    try {
        // Proceso exclusivo
    } finally {
        $lock->release();
    }
}

En produccion, Redis es el driver recomendado por su velocidad y soporte para tags y locks atomicos. La cache es crucial para reducir consultas a la base de datos y llamadas a APIs externas.