PHP實(shí)現(xiàn)的Redis多庫選擇功能單例類
本文實(shí)例講述了PHP實(shí)現(xiàn)的Redis多庫選擇功能單例類。分享給大家供大家參考,具體如下:
前言
qq群里有同學(xué)問redis如何進(jìn)行多庫選擇,用php實(shí)現(xiàn)了一下,還望各位多多指點(diǎn)
代碼
<?php
class MultiRedisConnect
{
/**
* hostname
*
* @var string
*/
const REDISHOSTNAME = "127.0.0.1";
/**
* port
*
* @var int
*/
const REDISPORT = 6379;
/**
* timeout
*
* @var int
*/
const REDISTIMEOUT = 0;
/**
* password
*
* @var string
*/
const REDISPASSWORD = "123456";
/**
* 類單例數(shù)組
*
* @var array
*/
private static $instance = array();
/**
* redis連接句柄
*
* @var object
*/
private $redis;
/**
* hash的key
*
* @var int
*/
private $hash;
/**
* 私有化構(gòu)造函數(shù),防止類外實(shí)例化
*
* @param int $dbnumber
*/
private function __construct ($dbnumber)
{
$dbnumber = (int) $dbnumber;
$this->hash = $dbnumber;
$this->redis = new Redis();
$this->redis->connect(self::REDISHOSTNAME, self::REDISPORT, self::REDISTIMEOUT);
$this->redis->auth(self::REDISPASSWORD);
$this->redis->select($dbnumber);
}
private function __clone ()
{}
/**
* 獲取類單例
*
* @param int $dbnumber
* @return object
*/
public static function getRedisInstance ($dbnumber)
{
$hash = (int) $dbnumber;
if (! isset(self::$instance[$hash])) {
self::$instance[$hash] = new MultiRedisConnect($dbnumber);
}
return self::$instance[$hash];
}
/**
* 獲取redis的連接實(shí)例
*
* @return object
*/
public function getRedisConnect ()
{
return $this->redis;
}
/**
* 關(guān)閉單例時做清理工作
*/
public function __destruct ()
{
$key = $this->hash;
self::$instances[$key]->redis->close();
self::$instances[$key] = null;
}
}
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+redis數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- php Redis函數(shù)用法實(shí)例總結(jié)【附php連接redis單例類】
- php操作redis中的hash和zset類型數(shù)據(jù)的方法和代碼例子
- PHP實(shí)現(xiàn)操作redis的封裝類完整實(shí)例
- php 使用redis鎖限制并發(fā)訪問類示例
- php實(shí)現(xiàn)的redis緩存類定義與使用方法示例
- PHP實(shí)現(xiàn)的Redis操作通用類示例
- PHP操作redis實(shí)現(xiàn)的分頁列表,新增,刪除功能封裝類與用法示例
- PHP基于redis計數(shù)器類定義與用法示例
- PHP購物車類Cart.class.php定義與用法示例
- php實(shí)現(xiàn)仿寫CodeIgniter的購物車類
- PHP+redis實(shí)現(xiàn)的購物車單例類示例
相關(guān)文章
學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】
這篇文章主要介紹了學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】,需要的朋友可以參考下2016-05-05
PHP實(shí)現(xiàn)動態(tài)執(zhí)行代碼的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)動態(tài)執(zhí)行代碼的方法,涉及PHP中create_function函數(shù)的使用技巧,需要的朋友可以參考下2016-03-03
php 函數(shù)使用可變數(shù)量的參數(shù)方法
下面小編就為大家?guī)硪黄猵hp 函數(shù)使用可變數(shù)量的參數(shù)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
實(shí)現(xiàn)php刪除鏈表中重復(fù)的結(jié)點(diǎn)
在本篇文章中,我們給大家?guī)砹岁P(guān)于php刪除鏈表中重復(fù)的結(jié)點(diǎn)的相關(guān)知識點(diǎn)內(nèi)容以及相關(guān)代碼,有興趣的朋友們參考下。2018-09-09

