A psr/simple-cache implementation for PHP 8.1+.
- PSR-16 simple-cache-implementation
- persistent: File based, Memcached, Redis
- non-persistent: Session, Memory
Installation using composer
You can simply clone the repo and run composer install
in the root directory.
In case you want to include it elsewhere, just add the following to your composer.json:
(note: replace dev-main
with a version constraint,
e.g. ^4.1
- see releases for valid versions)
{
"require": {
"php": "^8.1",
"chillerlan/php-cache": "dev-main"
}
}
Installation via terminal: composer require chillerlan/php-cache
Profit!
Just invoke a cache instance with the desired CacheInterface
like so:
// Redis
$redis = new Redis;
$redis->pconnect('127.0.0.1', 6379);
$cache = new RedisCache($redis);
// Memcached
$memcached = new Memcached('myCacheInstance');
$memcached->addServer('localhost', 11211);
$cache = new MemcachedCache($memcached);
// APCU
$cache = new APCUCache;
// File
$cache = new FileCache(new CacheOptions(['cacheFilestorage' => __DIR__.'/../.cache']));
// Session
$cache = new SessionCache(new CacheOptions(['cacheSessionkey' => '_my_session_cache']));
// Memory
$cache = new MemoryCache;
See: Psr\SimpleCache\CacheInterface
$cache->get(string $key, $default = null); // -> mixed
$cache->set(string $key, $value, int $ttl = null):bool
$cache->delete(string $key):bool
$cache->has(string $key):bool
$cache->clear():bool
$cache->getMultiple(array $keys, $default = null):array // -> mixed[]
$cache->setMultiple(array $values, int $ttl = null):bool
$cache->deleteMultiple(array $keys):bool
I don't take responsibility for molten memory modules, bloated hard disks, self-induced DoS, broken screens etc. Use at your own risk! 🙈