php - HyperDB 会根据查询自动选择使用哪个数据库吗?
问题描述
例如,对于所有SELECT
查询,即非写入,HyperDB 将自动选择那些read
在 config 中具有标志的查询,而对于INSERT
or UPDATE
,HyperDB 将仅使用配置有write
标志的数据库(即master
)。
我当前的配置添加了三台服务器,一台主机和两台从机(副本)。但我还没有告诉 HyperDB 使用哪一个。
所以我可以安全地假设:
- HyperDB 将为我完成工作
- 如果没有,我应该使用什么配置
我目前的配置:
// Master
$wpdb->add_database(array(
'host' => '10.0.0.10',
'user' => 'user',
'password' => 'password',
'name' => 'database',
'write' => 1,
'read' => 1,
'dataset' => 'global',
'timeout' => 0.2,
));
// Salve / Replica
$wpdb->add_database(array(
'host' => '10.0.0.11',
'user' => 'user',
'password' => 'password',
'name' => 'database',
'write' => 0,
'read' => 1,
'dataset' => 'global',
'timeout' => 0.2,
));
// Salve / Replica
$wpdb->add_database(array(
'host' => '10.0.0.12',
'user' => 'user',
'password' => 'password',
'name' => 'database',
'write' => 0,
'read' => 1,
'dataset' => 'global',
'timeout' => 0.2,
));
解决方案
推荐阅读
- javascript - 使用 vuejs 或 vuex 提交表单时,formdata.append 不起作用
- oracle - 通过使用 PL/SQL 比较表和视图中的两列来查找缺失的日期
- docker - 将整个 docker 项目移动到另一台机器上
- powershell - Powershell:无法将值转换为 System.String 类型
- javascript - 用javascript中的值替换.innerhtml文本
- spring-security - Eclipse Hawkbit:无法为管理 UI 集成 OpenId
- javascript - Vannila JS - 如何在模态退出时暂停 YT 视频
- c# - protobuf-net 版本 -3.0.73 ,SaveContractsToZipStream 方法因错误而中断:System.MissingMethodException
- inno-setup - Inno Setup 中的 DiskSpaceLabel 和 ComponentsDiskSpaceLabel 有什么区别?
- c# - Blazor webassembly 中的“严格传输安全”