Yii2.0 上使用 redis

时间:2021-07-20 13:26:27

1. 通过composer进行安装,到项目根目录cmd运行

php composer.phar require --prefer-dist yiisoft/yii2-redis
或者添加

"yiisoft/yii2-redis": "~2.0.0" 到对应项目的composer.json文件中

2.手动安装

yii2-redis 扩展网址:https://github.com/yiisoft/yii2-redis

把下载的扩展文件放到vendor/yiisoft/下,命名为yii2-redis修改vender/yiisoft/下的extensions.php,加入redis扩展

'yiisoft/yii2-redis' =>
    array (
        'name' => 'yiisoft/yii2-redis',
        'version' => '2.2.0.0',
        'alias' =>
        array (
            '@yii/redis' => $vendorDir . '/yiisoft/yii2-redis',
        ),
    ),

配置Yii的components

'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],

配置完成,到了测试环节:

public function actionRedis()
    {
            Yii::$app->redis->set('test','111');  //设置redis缓存
            echo Yii::$app->redis->get('test');   //读取redis缓存
    }

正常使用是没有问题的,如果访问测试出现问题: Class yii\redis\Connection does not exist

两种解决办法:

首先看下载的redis扩展包的目录结构:

Yii2.0 上使用 redis

如果下载的扩展包里面有src上面的那种方法就会出现 Class yii\redis\Connection does not exist报错现象

解决方法如下:

1.把src里面的php程序代码拷贝出来到yii-redis下

2.在extensions.php里面redis配置里面加上src路径如下,

'yiisoft/yii2-redis/src' =>
  array(
      'name' => 'yiisoft/yii2-redis/src',
      'version' => '2.2.0.0',
      'alias' =>
      array(
          '@yii/redis' => $vendorDir. '/yiisoft/yii2-redis/src',
        ),
    ),

这样就能成功,赶快测试吧!!!!