| sidebar_key | cache-engine | |||
|---|---|---|---|---|
| tags |
|
A powerful, versatile cache implementation providing both PSR-6 and PSR-16 interfaces with support for multiple storage drivers.
- PSR-16 Simple Cache interface - Simple, straightforward caching API
- PSR-6 Cache Pool interface - More verbose caching with fine-grained control
- Multiple storage backends - Choose from memory, file system, Redis, Memcached and more
- Atomic operations - Support for increment, decrement and add operations in compatible engines
- Compare and swap - Conditional writes for correct distributed locking on Redis and Memcached
- Garbage collection - Automatic cleanup of expired items
- PSR-11 container support - Retrieve cache keys via dependency container
- Logging capabilities - PSR-3 compatible logging of cache operations
composer require "byjg/cache-engine"// PSR-16 Simple Cache
$cache = new \ByJG\Cache\Psr16\FileSystemCacheEngine();
$cache->set('key', 'value', 3600); // Cache for 1 hour
$value = $cache->get('key');
// PSR-6 Cache Pool
$pool = \ByJG\Cache\Factory::createFilePool();
$item = $pool->getItem('key');
if (!$item->isHit()) {
$item->set('value');
$item->expiresAfter(3600);
$pool->save($item);
}
$value = $item->get();| Engine | Description |
|---|---|
| NoCacheEngine | No-op engine for disabling cache without code changes |
| ArrayCacheEngine | In-memory array cache (non-persistent between requests) |
| FileSystemCacheEngine | File system based caching |
| MemcachedEngine | Memcached distributed caching |
| RedisCacheEngine | Redis-based caching |
| SessionCacheEngine | PHP session-based caching |
| TmpfsCacheEngine | Tmpfs-based caching |
docker compose up -d
vendor/bin/phpunit