1.把該類寫在配置文件裏:
先通過composer 在本項目中安裝redis,
在 composer.json 文件中聲明如下依賴:
“yiisoft/yii2-redis”: “~2.0.0”,再執行下面命令安裝:$ composer update
<?php
class Redisdb
{
//redis對象
public static $redis = null;
//ip
public static $host = '127.0.0.1';
//端口
public static $port = '6379';
//重連次數 $resetNum ;
$resetNum = 3;
public static function conn($resetNum)
{
try {
if(self::$redis === null){
self::$redis = new \Redis();
self::$redis->pconnect(self::$host,self::$port);//pconnect是針對該redis服務只在本項目裏使用,若多項目都是用該redis的話,使用connect
}
if (self::$redis->ping() === '+PONG') { //ping 返回 PONG 表示客戶端與redis鏈接成功
self::$redis->select(1);//選擇數據庫1
return self::$redis;
}else {
//鏈接失敗時 再次重連
log("Redis Error:Redis Connection fail");
if($resetNum--){
sleep(1);//延遲1秒 usleep(50) 延遲50微妙
self::$redis = null;
self::conn($resetNum);
}
}
}catch (Exception $e){
log("Redis Error:".$e->getMessage());
if($resetNum--){
sleep(1);
self::$redis = null;
self::conn($resetNum);
}else{
Worker::log("Redis connect fail more 3 time");
}
}
}
}