Easy to use Caching library with support for multiple caching backends

Installs: 7 495 960

Dependents: 13

Suggesters: 7

Security: 0

Stars: 51

Watchers: 29

Forks: 10

5.1.0-RC1 2024-02-27 16:49 UTC

This package is auto-updated.

Last update: 2024-05-21 02:43:26 UTC


The Cache library provides a Cache service locator for interfacing with multiple caching backends using a simple to use interface.

The caching backends supported are:

  • Files
  • APC
  • Memcached
  • Redis
  • Wincache
  • Xcache


Caching engines need to be configured with the Cache::config() method.

use Cake\Cache\Cache;

// Using a short name
Cache::config('default', [
    'className' => 'File',
    'duration' => '+1 hours',
    'path' => sys_get_tmp_dir(),
    'prefix' => 'my_app_'

// Using a fully namespaced name.
Cache::config('long', [
    'className' => \Cake\Cache\Engine\ApcuEngine::class,
    'duration' => '+1 week',
    'prefix' => 'my_app_'

// Using a constructed object.
$object = new FileEngine($config);
Cache::config('other', $object);

You can now read and write from the cache:

$data = Cache::remember('my_cache_key', function () {
	return Service::expensiveCall();

The code above will try to look for data stored in cache under the my_cache_key, if not found the callback will be executed and the returned data will be cached for future calls.


Please make sure you check the official documentation