Switon's PSR-16 Redis cache for batch reads and writes, prefix-scoped clearing, and cache lifecycle events.
- PSR-16 cache:
CacheInterfaceis the main cache contract. - Redis-backed storage:
SimpleCachestores 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.
composer require switon/cacheuse 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
MIT.