读写分离
注册读写链接配置信息
首先,我们需要按照 安装 注册 读 / 写 两个链接的信息
主要代码大概如下
DbManager::getInstance()->addConnection($con, 'read');
DbManager::getInstance()->addConnection($con2, 'write');
指定使用链接
有两种方式可以使用 可以根据自己的需求选择
主要利用AbstractModel提供的connection()
方法
function connection(string $name, bool $isTemp = false)
第二个参数需要传入为true,表示临时使用,否则该认定为固定使用
建议只在临时使用时设置该方式,如果要固定使用则从Model类文件中定义。
Model继承定义
class Test extends AbstractModel{
/** 这里因为不是使用默认的配置链接名 所以需要指定 */
protected $connectionName = 'write';
/** get 方法使用读链接 */
public function get($where = null, bool $returnAsArray)
{
$this->connection('read', true);
return parent::get($where, $returnAsArray);
}
}
外部使用
Test::create()->connection('read',true)->all();
当前内容版权归 EasySwoole 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 EasySwoole .