switon / cache
Redis-backed PSR-16 cache with JSON values, prefix-scoped clear, and cache lifecycle events for Switon Framework
v1.0.0
2026-06-06 13:43 UTC
Requires
- php: >=8.3
- psr/event-dispatcher: ^1.0
- psr/simple-cache: ^3.0
- switon/core: ^1.0
- switon/event: ^1.0
- switon/redis: ^1.0
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.0
- switon/testing: ^1.0
README
Switon's PSR-16 Redis cache for batch reads and writes, prefix-scoped clearing, and cache lifecycle events.
Highlights
- 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.
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.