1.安裝redis, 下面是2.8,注意,redis版本必定要高,2.2.7一下的版本是不行的,不支持php-redis,建議安裝2.8+的版本
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
tar xzf redis-3.2.9.tar.gz
cd redis-3.2.9
make
2.6.14 這個版本有點老,你們可去找新的redis下載php
cd src
cp redis-server /usr/local/bin/
cp redis-cli /usr/local/bin/html
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/6379git
cd ..
cp utils/redis_init_script /etc/init.d/redis_6379
cp redis.conf /etc/redis/6379.confgithub
/etc/init.d/redis_6379 start
vim /etc/redis/6379.conf ,找到以下的代碼部分,修改web
daemonize to yes
pidfile to /var/run/redis_6379.pid
logfile to /var/log/redis_6379.log
dir to /var/redis/6379
maxmemory 268435456
maxmemory 這裏設置的是256mb,您能夠按照您的配置本身設置。redis
設置開機啓動:vim /etc/rc.d/rc.local,添加下面的代碼mongodb
/etc/init.d/redis_6379 start
1.2 (可選操做)對於redis的磁盤存儲shell
redis有幾種內存的數據同步到磁盤的操做,詳細能夠參看文章:http://www.javashuo.com/article/p-aawcnsuv-gb.htmlvim
咱們選擇的是:Append-only file, vim /etc/redis/6379.conf緩存
appendonly yes #啓用aof持久化方式
appendfsync everysec #每秒鐘強制寫入磁盤一次,在性能和持久化方面作了很好的折中,推薦
auto-aof-rewrite-percentage 200 #自動的bgrewriteaof,aof文件的大小超過基準百分之多少後觸發bgrewriteaof。默認這個值設置爲100,意味着當前aof是基準大小的兩倍的時候觸發bgrewriteaof。把它設置爲0能夠禁用自動觸發的功能。
auto-aof-rewrite-min-size 128mb #當前aof文件大於多少字節後才觸發。避免在aof較小的時候無謂行爲。默認大小爲64mb。
保存,重啓redis
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 start
2.安裝redis的擴展。
yum install git
git clone git://github.com/owlient/phpredis
cd phpredis
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
若是上述出現報錯,能夠嘗試用另一個源:
git clone git://github.com/nicolasff/phpredis
php.ini中添加:
extension=redis.so
3.yii2 redis擴展的安裝,以及配置:
在配置好的yii2根目錄下面執行(您已經安裝了composer)
composer require --prefer-dist yiisoft/yii2-redis
等待片刻就能夠安裝好yii2 的 redis 擴展
4.yii2中redis的配置
首先基於安全考慮,咱們須要給redis設置密碼,除非,您的redis端口關閉。
vim /etc/redis/6379.conf
找到行,把前面#去掉,後面加redis的密碼
requirepass rds423fsadD
重啓redis就能夠了。
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 start
這樣redis密碼驗證就有了。
yii2的配置以下:
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => '127.0.0.1',
'port' => 6379,
'database' => 1,
//'unixSocket' => '/var/run/redis/redis.sock',
'password' => 'rds423fsadD',
// 'unixsocket' => '/var/run/redis/redis.sock',
// 'unixSocket' => '/tmp/redis.sock',
],
重啓redis , 這裏 yii2就配置好redis了
5.redis的使用:刷新緩存:
[root@E3-1230v2-829 catalog]# redis-cli
127.0.0.1:6379> auth rds!23v3cv3#ds
OK
127.0.0.1:6379> flushall
OK
127.0.0.1:6379>
redis-cli flushall 會報錯(須要按照上面的步驟登陸)
6.帶有密碼的redis,定時腳本清空緩存:
新建/www/script/redis_reflush_all.sh,添加以下內容
/usr/local/bin/redis-cli -a 'rds!2016!FDR' flushall
添加到cron中, crontab -e,添加以下內容,保存
30 18 * /bin/bash /www/web/intosmile.com/shell/flushall.sh
就會定時清空redis的內容了
<?php
return [
'components' => [
'session' => [ //'class' => 'yii\mongodb\Session', 'class' => 'yii\redis\Session', //'db' => 'mongodb', //'sessionCollection' => 'session', 'timeout' => 6000, ], 'cache' => [ 'class' => 'yii\redis\Cache', //'class' => 'yii\caching\FileCache', 'keyPrefix' => 'rediscache-##$fdas5ygjD', ],
這樣cache 就能夠使用redis 了。