php redis 单例模式

单例模式思想其实很简单

  1. 首先 有一个实例的静态变量

  2. 构造方法和克隆方法设置为私有,防止外部直接new

  3. 提供一个获取实例的静态方法

代码如下:

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()

 

posted on 2018-04-02 21:53  长不大的菜鸟  阅读(812)  评论(0编辑  收藏  举报

导航