yiisoft / yii2-redis
Redis Cache, Session and ActiveRecord for the Yii framework
Fund package maintenance!
Open Collective
yiisoft
Tidelift
Installs: 11 512 757
Dependents: 299
Suggesters: 27
Security: 2
Stars: 450
Watchers: 43
Forks: 182
Open Issues: 35
Type:yii2-extension
pkg:composer/yiisoft/yii2-redis
Requires
- php: ^7.3 || ^8.0
- ext-openssl: *
- predis/predis: ^v2.3.0|^3.0
- yiisoft/yii2: ~2.0.39
Requires (Dev)
- phpunit/phpunit: 9.*
- yiisoft/yii2-dev: ~2.0.39
README
Redis Cache, Session and ActiveRecord for Yii 2
This extension provides redis key-value store support for the Yii framework 2.0.
It provides Cache, Mutex, and Session handlers, as well as an ActiveRecord implementation that allows
you to store and query structured data in a familiar way.
For license information, see the LICENSE file.
Documentation is at docs/guide/README.md.
Requirements
Redis version 2.6.12 or later is required for all components to work properly.
Installation
Important
- The minimum required PHP version is PHP
7.4. - It works best with PHP
8.
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.1.0"
or add
"yiisoft/yii2-redis": "~2.1.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:
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', ], ], ], ], ];
Configuring The Connection Scheme
By default, Redis will use the tcp scheme when connecting to your Redis server; however, you may use TLS / SSL encryption by specifying a scheme configuration option in your application configuration:
return [ //.... 'components' => [ 'redis' => [ //.... 'scheme' => 'tls' ] ] ];