-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathRedisPool.php
27 lines (26 loc) · 1.07 KB
/
RedisPool.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
class RedisPool
{
private static $connections = array(); //定义一个对象池
private static $servers = array(); //定义redis配置文件
public static function addServer($conf) //定义添加redis配置方法
{
foreach ($conf as $alias => $data){
self::$servers[$alias]=$data;
}
}
public static function getRedis($alias,$select = 0)//两个参数要连接的服务器KEY,要选择的库
{
if(!array_key_exists($alias,self::$connections)){ //判断连接池中是否存在
$redis = new Redis();
$redis->connect(self::$servers[$alias][0],self::$servers[$alias][1]);
self::$connections[$alias]=$redis;
if(isset(self::$servers[$alias][2]) && self::$servers[$alias][2]!=""){
self::$connections[$alias]->auth(self::$servers[$alias][2]);
}
}
self::$connections[$alias]->select($select);
return self::$connections[$alias];
}
}
?>