yii2-redis扩展包基本使用
一、安装
composer require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
二、phpstorm编辑器提示
打开 /vendor/yiisoft/yii2/base/Application.php 类增加注释,Yii::$app->redis提示
@property \yii\redis\Connection $redis
三、配置
打开 /common/config/main.php 修改cache组件与新增redis组件
[
'components' => [
'cache' => [
//'class' => 'yii\caching\FileCache',
'class' => 'yii\redis\Cache',
'keyPrefix' => \common\components\CacheCfg::KEY_PREFIX,
'redis' => [
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
],
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 2,
],
],
]
打开 /backend/config/main.php 或者 /frontend/config/main.php 修改session组件
[
'components' => [
'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-backend',
'class' => 'yii\redis\Session',
'timeout' => \common\components\SysCfg::LOGIN_EXPIRE,
'keyPrefix' => \common\components\CacheCfg::SESSION_BACKEND_KEY_PREFIX,// 唯一键前缀
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 1,
],
],
],
]
[
'components' => [
'session' => [
// this is the name of the session cookie used for login on the frontend
'name' => 'advanced-frontend',
'class' => 'yii\redis\Session',
'timeout' => \common\components\SysCfg::LOGIN_EXPIRE,
'keyPrefix' => \common\components\CacheCfg::SESSION_KEY_PREFIX,
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 1,
],
/*'cookieParams' => [
'path' => '/',
'httpOnly' => true,
'domain' => 'taoquwo.com',
'lifetime' => \common\components\SysCfg::LOGIN_EXPIRE,
],*/
],
],
]
四、小结
redis在项目中,主要是三个地方使用
1、session存储
2、基本的kv缓存使用,yii2中单独有这一块封装
3、就是redis丰富的各种存储的数据类型的使用,如hash、set、zset、list,pub/sub,新版本还增加cluster使用等