2017 © Pedro Peláez
 

cakephp-plugin redis

CakePHP support for the Redis key-value database

image

lorenzo/redis

CakePHP support for the Redis key-value database

  • Saturday, January 27, 2018
  • by lorenzo
  • Repository
  • 2 Watchers
  • 2 Stars
  • 1,194 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 2 Versions
  • 106 % Grown

The README.md

A Redis connection adapter for CakePHP

This library makes it possible to create connections for any Redis database that can be created and managed with CakePHP's ConnectionManager., (*1)

Redis is a great Key-Value database with excelent performance. It also offers several unique features for working with large lists, hashmaps and even pub-sub systems., (*2)

Connecting to the redis database

This library assumes that you either have installed phpredis or predis. We recommend installing phpredis, (*3)

Configuring it in in your app.php file in

Just add any new named configuration under the Datasources key, (*4)

    'Datasources' => [
        ...
        'redis' => [
            'className' => 'Cake\Redis\RedisConnection',
            'driver' => 'phpredis', // Can also use a full class name or 'predis'
            'log' => false, // Log executed commands
            'host' => '127.0.0.1',
            'port' => 6379,
            'timeout' => [optional],
            'reconnectionDelay' => [optional],
            'persistentId' => [optional],
            'database' => [optional],
            'options' => [], // extra options for the driver
        ]
    ]

Using ConnectionManager

You can also create new redis connections with the ConnectionManger, (*5)

use Cake\Datasource\ConnectionManager;

ConnectionManager::config('redis', [
    'className' => 'Cake\Redis\RedisConnection',
    'driver' => 'Cake\Redis\Driver\PHPRedisDriver',
    'log' => false, // Log executed commands
    'host' => '127.0.0.1',
    'port' => 6379,
    'timeout' => [optional],
    'reconnectionDelay' => [optional],
    'persistentId' => [optional],
    'database' => [optional],
    'options' => [], // extra options for the driver
]);

Executing commands in Redis

You need to get a hold of the connection and the execute commands:, (*6)

$redis = ConnectionManager::get('redis');
$redis->set('cakephp', 'awesome');
echo $redis->get('cakephp'); // Returns 'awesome'

Make sure you take a look at all the commands you can run in the PHPRedis Readme., (*7)

Executing a list of commands in a transaction


$redis = ConnectionManager::get('redis'); $redis->transactional(function ($client) { $client ->set('cakephp', 'awesome') ->set('another_key', 'value') });

The client instance the closure gets will buffer all the commands and execute them atomically at the end of the chain., (*8)

This method uses the multi() command internally., (*9)

The Versions

27/01 2018

dev-master

9999999-dev

CakePHP support for the Redis key-value database

  Sources   Download

MIT

The Requires

 

The Development Requires

09/02 2017

1.0

1.0.0.0

CakePHP support for the Redis key-value database

  Sources   Download

MIT

The Requires

 

The Development Requires