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