al3x5/laravel-psr16-cache

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

Installs: 23

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/al3x5/laravel-psr16-cache

1.0.0 2025-09-24 14:19 UTC

This package is auto-updated.

Last update: 2025-12-03 15:22:16 UTC


README

A simple and elegant implementation of the PSR-16 standard for Laravel, allowing you to use Redis, Memcached, File, and all Laravel cache drivers with a standardized interface.

📦 Install

composer require al3x5/laravel-psr16-cache

🚀 Quick Use

use Al3x5\LaravelPsr16Cache;

$cache = new LaravelPsr16Cache();

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

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

// Check
if ($cache->has('user:1')) {
    // Do something
}

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

💡 Features

  • ✅ Full PSR-16 Implementation
  • ✅ Support for all Laravel cache drivers (Redis, Memcached, File, Database, etc.)
  • ✅ Automatic Configuration via Laravel
  • ✅ Simple and Standardized Interface
  • ✅ Ideal for Libraries and Packages that require PSR-16

🔧 Configuration

The library automatically uses your Laravel project's cache configuration (config/cache.php). Simply configure your preferred cache drivers:

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

📚 Available Methods

$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);

🔄 Usage with Dependency Injection

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);
        });
    }
}

📋 Requirements

  • PHP 8.2 or higher
  • Laravel 12.x
  • Redis or Memcached extension (optional, depending on the driver)

🔗 Related

For PHP projects without Laravel: 👉 mk4u/cache - Simple implementation with APCu, File, and other drivers.

📄 License

MIT License - see the LICENSE file for details.