Please use phoole/cache instead.
phossa2/cache is a PSR-6 compliant caching library for PHP. It supports various drivers and useful features like bypass, encrypt, stampede protection etc.
It requires PHP 5.4, supports PHP 7.0+ and HHVM. It is compliant with PSR-1, PSR-2, PSR-3, PSR-4, PSR-6 and the proposed PSR-5.
Install via the composer utility.
composer require "phossa2/cache"or add the following lines to your composer.json
{
"require": {
"phossa2/cache": "2.*"
}
}Fully PSR-6 compliant.
Support all serializable PHP datatypes.
Extensions included:
Bypass: If sees a trigger in URL (e.g. '?nocache=true'), bypass the cache.
Stampede Protection: Whenever cached object's lifetime is less than a configurable time, by a configurable percentage, the cache will return false on 'isHit()' which will trigger re-generation of the object.
Encrypt: A simple extension to encrypt the serialized content.
DistributedExpiration: Even out the spikes of item misses by alter expiration time a little bit.
Drivers
StorageDriver
The storage driver uses phossa2/storage local or cloud storage.
NullDriver
The blackhole driver, can be used as fallback driver for all other drivers.
Simple usage
/* * cache dir default to local sys_get_temp_dir() . '/cache' */$cache = newCachePool(); $item = $cache->getItem('/data.cache'); if (!$item->isHit()) { $value = calcuate_data(); $item->set($value); $cache->save($item); } $data = $item->get();
Specify the driver
usePhossa2\Cache\Driver\StorageDriver; usePhossa2\Storage\Storage; usePhossa2\Storage\Filesystem; usePhossa2\Storage\Driver\LocalDriver; $driver = newStorageDriver( newStorage('/', newFilesystem(newLocalDriver(sys_get_temp_dir()))), '/cache' ); $cache = newCachePool($driver);
Use extensions
/* * DistributedExpiration extension */usePhossa2\Cache\CachePool; usePhossa2\Cache\Extension\DistributedExpiration; $cache = newCachePool(); $cache->addExtension(newDistributedExpiration());
Please see CHANGELOG from more information.
$ composer testPlease see CONTRIBUTE for more information.
PHP >= 5.4.0
phossa2/event >= 2.1.4
phossa2/storage >= 2.0.0
