Skip to content

switon-php/cache

Repository files navigation

Switon Cache Package

CI PHP 8.3+

Switon's PSR-16 Redis cache for batch reads and writes, prefix-scoped clearing, and cache lifecycle events.

Highlights

  • PSR-16 cache: CacheInterface is the main cache contract.
  • Redis-backed storage: SimpleCache stores values in Redis with prefix-scoped access.
  • Batch reads and writes: read or write multiple keys in one call.
  • Safe clearing: clear() requires a prefix so it does not wipe unrelated keys.
  • Lifecycle visibility: CacheHit, CacheMiss, and related lifecycle events can be observed.

Installation

composer require switon/cache

Quick Start

use Psr\SimpleCache\CacheInterface;
use Switon\Core\Attribute\Autowired;

class ProductService
{
    #[Autowired] protected CacheInterface $cache;

    public function getFeatured(): array
    {
        $miss = new \stdClass();
        $products = $this->cache->get('featured_products', $miss);

        if ($products === $miss) {
            $products = $this->loadFeaturedProducts();
            $this->cache->set('featured_products', $products, 1800);
        }

        return $products;
    }
}

Docs: https://docs.switon.dev/latest/cache

License

MIT.

About

Redis-backed PSR-16 cache with JSON values, prefix-scoped clear, and cache lifecycle events for Switon Framework

Topics

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages