Yii2中配置Redis并启用安全验证

1. 安装php-redis扩展:

下载phpredis扩展安装包:

wget http://pecl.php.net/get/redis-3.0.0.tgz 

安装phpredis:

tar zxvf redis-3.0.0.tgz  #解压
cd redis-3.0.0  #cd到解压后目录
/xxxx/phpize  #执行phpize
./configure  
make
make install

在php.ini中添加如下代码,启用redis扩展:

extension=redis.so


2. 安装yii2的Redis扩展:

cd /www/html/basic #cd到工程根目录下
PHP composer.phar require --prefer-dist yiisoft/yii2-redis #使用composer安装扩展


3. 在yii的web.php配置文件中添加yii-redis组件:

在yii的config目录下,编辑web.php,在components中加上:

'redis' => [
          'class' => 'yii\redis\Connection',
          'hostname' => 'localhost', #redis服务ip
          'port' => 6379, #端口
          'database' => 0, #默认db
  ],


4. 在代码中使用:

$redis = Yii::$app->redis; 
$redis->set('key1','value1'); #普通字符串
$value = $redis->get('key1');

$redis->hset('hash_name','h_key1','h_value1'); #hash类型
$h_value = $redis->hget('hash_name','h_key1');


5. 处于安全考虑,我们需要给redis加上安全验证,配置方式如下:

  1. 修改redis.conf文件,删除requirepass前面的“#”,然后在后面附上你预设的密码,例如:requirepass 123456,意思就是开启redis密码验证,密码为123456,记得要重新启动redis
  2. 在工程的config目录下,编辑web.php,在components下的redis中加上password配置项:
    
    'redis' => [
         'class' => 'yii\redis\Connection',
         'hostname' => 'localhost',
         'port' => 6379,
         'database' => 0,
         'password' => '123456', 
    ],