This is a service provider for Silex that enables developers to easily connect to Redis by using Predis.
Supposing that you have already set up the required dependencies using Composer and the skeleton of your Silex application is ready, now you simply need to register the service provider specifying the parameters and options needed to access Redis:
$app->register(new Predis\Silex\PredisServiceProvider(), array(
'predis.parameters' => 'tcp://127.0.0.1:6379',
'predis.options' => array('profile' => '2.2'),
));
This will register a single Predis\Client
instance accessible by your application using $app['predis']
.
Both predis.parameters
and predis.options
are optional and accept the same values of the constructor
of Predis\Client
.
Certain applications might need more than one client to reach different servers or configured with different
options such as key prefixing or server profile. In such cases you must use Predis\Silex\MultiPredisServiceProvider
and provide a list of clients with their own parameters and options using predis.clients
:
$app->register(new Predis\Silex\MultiPredisServiceProvider(), array(
'predis.clients' => array(
'first' => 'tcp://127.0.0.1:6379',
'second' => array(
'host' => '127.0.0.1',
'port' => 6380,
),
'third' => array(
'parameters' => 'tcp://127.0.0.1:6381',
'options' => array(
'profile' => 'dev',
'prefix' => 'silex:',
),
),
),
));
Client instances will be exposed to your application using $app['predis'][$alias]
where $alias
is the key
used to populate the items of predis.clients
. You can optionally define a default client by specifying its
alias in predis.default_client
to make it accessible by invoking methods of Predis\Client
directly against
$app['predis']
. Each client instance will be initialized lazily upon first access.
You can find more details on how to use this provider in the examples
directory or the test suite,
- PHP >= 5.3.2
- Predis >= 0.8.0
- Jérôme Macias (github)
The code for PredisServiceProvider is distributed under the terms of the MIT license.