Redis Cache, Session and ActiveRecord for Yii 2


This extension provides the redis key-value store support for the Yii framework 2.0. It includes a Cache and Session storage handler and implements the ActiveRecord pattern that allows you to store active records in redis.

For license information check the LICENSE-file.

Documentation is at docs/guide/README.md.

Latest Stable Version Total Downloads Build status

Requirements

At least redis version 2.6.12 is required for all components to work properly.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"

or add

"yiisoft/yii2-redis": "~2.0.0"

to the require section of your composer.json.

Configuration

To use this extension, you have to configure the Connection class in your application configuration:

return [
    //....
    'components' => [
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ]
];

SSL configuration example: `php return [

//....
'components' => [
    'redis' => [
        'class' => 'yii\redis\Connection',
        'hostname' => 'localhost',
        'port' => 6380,
        'database' => 0,
        'useSSL' => true,
        // Use contextOptions for more control over the connection (https://www.php.net/manual/en/context.php), not usually needed
        'contextOptions' => [
            'ssl' => [
                'local_cert' => '/path/to/local/certificate',
                'local_pk' => '/path/to/local/private_key',
            ],
        ],
    ],
],

]; `

Class Reference

Class Description
yii\redis\ActiveQuery ActiveQuery represents a query associated with an Active Record class.
yii\redis\ActiveRecord ActiveRecord is the base class for classes representing relational data in terms of objects.
yii\redis\Cache Redis Cache implements a cache application component based on redis key-value store.
yii\redis\Connection The redis connection class is used to establish a connection to a redis server.
yii\redis\LuaScriptBuilder LuaScriptBuilder builds lua scripts used for retrieving data from redis.
yii\redis\Mutex Redis Mutex implements a mutex component using redis as the storage medium.
yii\redis\Session Redis Session implements a session component using redis as the storage medium.
yii\redis\SocketException SocketException indicates a socket connection failure in yii\redis\Connection.