php redis 單例模式
阿新 • • 發佈:2019-01-26
單例模式思想其實很簡單
首先 有一個例項的靜態變數
構造方法和克隆方法設定為私有,防止外部直接new
提供一個獲取例項的靜態方法
程式碼如下:
class Redis {
private static $_instance = null; //靜態例項
private function __construct(){ //私有的構造方法
self::$_instance = new \Redis();
$config = C("REDIS"); // redis配置資訊;我這裡是tp的
self::$_instance->connect($config ['host'],$config['port']);
if(isset($config['password'])){
self::$_instance->auth($config['password']);
}
}
//獲取靜態例項
public static function getRedis(){
if(!self::$_instance){
new self;
}
return self::$_instance;
}
/*
* 禁止clone
*/
private function __clone(){}
外部呼叫
Redis::getRedis()