This is a simple cache store with support for a variety of backends. A file and memcached backend are included.
Installation through Composer at Packagist
Usage is simple:
<?php// Instantiate$adapter = newAngryBytes\Cache\Adapter\Memcached; $adapter->addServer('localhost', 11211); $cache = newAngryBytes\Cache\Cache($adapter); // Save$cache->save($yourExpensiveData, 'cache-key'); // Load$data = $cache->load('cache-key'); // Delete$data = $cache->delete('cache-key');There is a special return type AngryBytes\Cache\ResultNotFound that signifies the result can not be retrieved:
<?php// Load$data = $cache->load('cache-key'); // Checkif ($datainstanceofAngryBytes\Cache\ResultNotFound){$yourExpensiveData = yourExpensiveMethod(); // Save$cache->save($yourExpensiveData, 'cache-key')}If you need to support more than one cache store on the same backend you can add a prefix for all id's:
<?php// Two stores with same adapter but different prefix:$cache1 = newAngryBytes\Cache\Cache($adapter); $cache1->setIdPrefix('foo'); $cache2 = newAngryBytes\Cache\Cache($adapter); $cache2->setIdPrefix('foo');You can also add more than one prefix, which can be handy for key cleaning:
<?php$cache = newAngryBytes\Cache\Cache($adapter); $cache->addIdPrefix('foo'); $cache->addIdPrefix('bar');
