traackr/cache-engines

There is no license information available for the latest version (0.3.6) of this package.

CakePHP Cache Engines

Installs: 51 543

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 18

Forks: 0

Open Issues: 1

Type:cakephp-plugin

0.3.6 2021-01-27 20:16 UTC

README

Build Status

This CakePHP plugin provides some additional cache engines that can be used by CakePHP.

We currently provide three cache engines:

  1. RedisTreeCacheEngine: Redis based cache that supports managing keys using wildcards and cache key 'parents'.
  2. FileTreeCacheEngine: Local filesystem based cache that supports managing keys using wildcards and cache key 'parents'.
  3. FallBackCacheEngine: Allows you to define two cache engines; the first engine is used as the primary cache engine. The second cache engine is used only if the primary fails.

##Installation

$ cd /path/to/cake/application/app
$ composer require traackr/cache-engines
$ composer update

##Configuring the Engines

To configure and use these cache engines, simply specify the cache engine name in the appropriate configuration file (this is typically app/Config/bootstrap.php, c.f., CakePHP cache configuration documentation). The RedisTreeeEngine and FileTreeEngine take the same arguments as the RedisEngine and FileEngine that ship with CakePHP:

Cache::config("post_data", array(
   'engine' => 'RedisTree',
   'server' => 'redis-server',
   'port' => 6379,
   'duration' => 300,
   'prefix' => 'posts:'
));

FallbackEngine expects a configuration for the primary and secondary engines:

Cache::config("post_data", array(
   'engine' => 'Fallback',
   'name' => "post_data",
   'primary' => array(
      'profile' => '2.8', // optional, if you want to hardcode a predis profile to use
      'engine' => 'RedisTree',
      'server' => 'redis-server',
      'port' => 6379,
      'duration' => 300,
      'prefix' => 'posts:'
   ),
   'secondary' => array(
      // alternate cache if Redis fails
      'engine' => 'FileTree',
      'path' => CACHE.'/data/',
      'duration' => 300
   )
));

##Documentation

All other documentation can be found in the doc folder.

##Contributing