You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
49
extend/app_alipay/lotusphp_runtime/Cache/CacheConfigBuilder.php
Executable file
49
extend/app_alipay/lotusphp_runtime/Cache/CacheConfigBuilder.php
Executable file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
class LtCacheConfigBuilder
|
||||
{
|
||||
protected $servers = array();
|
||||
|
||||
protected $defaultConfig = array(
|
||||
"adapter" => "phps", //apc,xcach,ea; file, phps; memcached
|
||||
//"prefix" => ""
|
||||
//"host" => "localhost", //some ip, hostname
|
||||
//"port" => 3306,
|
||||
);
|
||||
|
||||
public function addSingleHost($hostConfig)
|
||||
{
|
||||
$this->addHost("group_0", "node_0", "master", $hostConfig);
|
||||
}
|
||||
|
||||
public function addHost($groupId, $nodeId = "node_0", $role = "master", $hostConfig)
|
||||
{
|
||||
if (isset($this->servers[$groupId][$nodeId][$role]))
|
||||
{//以相同role的第一个host为默认配置
|
||||
$ref = $this->servers[$groupId][$nodeId][$role][0];
|
||||
}
|
||||
else if ("slave" == $role && isset($this->servers[$groupId][$nodeId]["master"]))
|
||||
{//slave host以master的第一个host为默认配置
|
||||
$ref = $this->servers[$groupId][$nodeId]["master"][0];
|
||||
}
|
||||
else if (isset($this->servers[$groupId]) && count($this->servers[$groupId]))
|
||||
{//以本group第一个node的master第一个host为默认配置
|
||||
$refNode = key($this->servers[$groupId]);
|
||||
$ref = $this->servers[$groupId][$refNode]["master"][0];
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isset($hostConfig["adapter"]))
|
||||
{
|
||||
trigger_error("No db adapter specified");
|
||||
}
|
||||
$ref = $this->defaultConfig;
|
||||
}
|
||||
$conf = array_merge($ref, $hostConfig);
|
||||
$this->servers[$groupId][$nodeId][$role][] = $conf;
|
||||
}
|
||||
|
||||
public function getServers()
|
||||
{
|
||||
return $this->servers;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user