al3x5/laravel-psr16-cache

PSR-16 Simple Cache implementation for Laravel - Redis, Memcached, File drivers

1.0.0 2025-09-24 14:19 UTC

This package is auto-updated.

Last update: 2025-09-24 14:39:37 UTC


README

PSR-16 Simple Cache implementation for Laravel projects

Una implementación simple y elegante del estándar PSR-16 para Laravel, permitiendo usar Redis, Memcached, File y todos los drivers de cache de Laravel con una interfaz estandarizada.

📦 Instalación

composer require al3x5/laravel-psr16-cache

🚀 Uso Rápido

use Al3x5\LaravelPsr16Cache;

$cache = new LaravelPsr16Cache();

// Almacenar valor
$cache->set('user:1', ['name' => 'Juan'], 3600);

// Recuperar valor
$user = $cache->get('user:1', 'default_value');

// Verificar existencia
if ($cache->has('user:1')) {
    // Hacer algo
}

// Eliminar
$cache->delete('user:1');

💡 Características

  • Implementación PSR-16 completa
  • Soporte para todos los drivers de Laravel (Redis, Memcached, File, Database, etc.)
  • Configuración automática mediante Laravel
  • Interfaz simple y estandarizada
  • Ideal para librerías y packages que requieran PSR-16

🔧 Configuración

La librería utiliza automáticamente la configuración de cache de tu proyecto Laravel (config/cache.php). Simplemente configura tus drivers preferidos:

// .env
CACHE_DRIVER=redis
# o
CACHE_DRIVER=memcached
# o  
CACHE_DRIVER=file

📚 Métodos Disponibles

$cache->get($key, $default = null);
$cache->set($key, $value, $ttl = null);
$cache->delete($key);
$cache->clear();
$cache->getMultiple($keys, $default = null);
$cache->setMultiple($values, $ttl = null);
$cache->deleteMultiple($keys);
$cache->has($key);

🔄 Uso con Inyección de Dependencias

use Psr\SimpleCache\CacheInterface;

class UserService 
{
    public function __construct(private CacheInterface $cache) {}
    
    public function findUser($id)
    {
        return $this->cache->get("user:{$id}", function() use ($id) {
            return User::find($id);
        });
    }
}

📋 Requisitos

  • PHP 8.2 o superior
  • Laravel 12.x
  • Extensión Redis o Memcached (opcional, según driver)

🔗 Relacionado

Para proyectos PHP sin Laravel:
👉 mk4u/cache - Implementación simple con drivers APCu, File y más.

📄 Licencia

MIT License - ver archivo LICENSE para más detalles.