>  기사  >  백엔드 개발  >  php 连接redis 数据库单利类_PHP教程

php 连接redis 数据库单利类_PHP教程

WBOY
WBOY원래의
2016-07-13 10:11:31951검색

php 连接redis 数据库单利类

<?php

class RedisConnect
{
    /**
     * Redis的ip
     *
     * @var string
     */
    const REDISHOSTNAME = "127.0.0.1";
    
    /**
     * Redis的port
     *
     * @var int
     */
    const REDISPORT = 6379;
    
    /**
     * Redis的超时时间
     *
     * @var int
     */
    const REDISTIMEOUT = 0;
    
    /**
     * Redis的password
     *
     * @var unknown_type
     */
    const REDISPASSWORD = "ehualu";
    
    /**
     * Redis的DBname
     *
     * @var int
     */
    const REDISDBNAME = 12;
    
    /**
     * 类单例
     *
     * @var object
     */
    private static $instance;
    
    /**
     * Redis的连接句柄
     *
     * @var object
     */
    private $redis;
    
    /**
     * 私有化构造函数,防止类外实例化
     *
     * @param unknown_type $dbnumber
     */
    private function __construct ()
    {
        // 链接数据库
        $this->redis = new Redis();
        $this->redis->connect(self::REDISHOSTNAME, self::REDISPORT, self::REDISTIMEOUT);
        $this->redis->auth(self::REDISPASSWORD);
        $this->redis->select(self::REDISDBNAME);
    }
    
    /**
     * 私有化克隆函数,防止类外克隆对象
     */
    private function __clone ()
    {}
    
    /**
     * 类的唯一公开静态方法,获取类单例的唯一入口
     *
     * @return object
     */
    public static function getRedisInstance ()
    {
        if (! (self::$instance instanceof self)) {
            self::$instance = new self();
        }
        return self::$instance;
    }
    
    /**
     * 获取redis的连接实例
     *
     * @return Redis
     */
    public function getRedisConn ()
    {
        return $this->redis;
    }
    
    /**
     * 需要在单例切换的时候做清理工作
     */
    public function __destruct ()
    {
        self::$instance->redis->close();
        self::$instance = NULL;
    }
}

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/929776.htmlTechArticlephp 连接redis 数据库单利类 redis = new Redis(); $this->redis->connect(self::REDISHOSTNAME, self::REDISPORT, self::REDISTIMEOUT); $this->redis->auth(self::REDISPASSWORD); $t...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.