dev-master
9999999-devCakePHP support for the Redis key-value database
MIT
The Requires
The Development Requires
1.0
1.0.0.0CakePHP support for the Redis key-value database
MIT
The Requires
The Development Requires
CakePHP support for the Redis key-value database
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)
This library assumes that you either have installed phpredis
or predis
. We recommend installing phpredis
, (*3)
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 ] ]
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 ]);
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)
$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)
CakePHP support for the Redis key-value database
MIT
CakePHP support for the Redis key-value database
MIT