redis 单例化

版权声明:一切都是为了学习记录,随便转载。 https://blog.csdn.net/Gjanuary/article/details/78904528
<?php

// 实例化redis
$Redis = RedisManager::getRedisConn();

class RedisManager
{
    private static $redisInstance;
    // 定义redis连接
    const host = 'xxxxx';
    const pass = 'xxxxxxxxx';
    const port =  6379;
    /**
     * 私有化构造函数
     * 原因:防止外界调用构造新的对象
    */
    private function __construct(){}
    /**
     * 获取redis连接的唯一出口
    */
    static public function getRedisConn(){
        if(!self::$redisInstance instanceof self){
            self::$redisInstance = new self;
        }
        // 获取当前单例
        $temp = self::$redisInstance;
        // 调用私有化方法
        return $temp->connRedis();
    }
    /**
     * 连接ocean 上的redis的私有化方法
     * @return Redis
    */
    static private function connRedis()
    {
        try {
            $redis_ocean = new Redis();
            $redis_ocean->connect(self::host, self::port);
            $redis_ocean->auth(self::pass);
        }catch (Exception $e){
            echo $e->getMessage().'<br/>';
        }
        return $redis_ocean;
    }
}
使用文件中: 
include_once(ROOT_PATH .'redis/redisconfig.php');    
$list = $Redis->lrange($redisListName, 0, -1);

猜你喜欢

转载自blog.csdn.net/Gjanuary/article/details/78904528