首页 > 解决方案 > HyperDB 会根据查询自动选择使用哪个数据库吗?

问题描述

例如,对于所有SELECT查询,即非写入,HyperDB 将自动选择那些read在 config 中具有标志的查询,而对于INSERTor UPDATE,HyperDB 将仅使用配置有write标志的数据库(即master)。

我当前的配置添加了三台服务器,一台主机和两台从机(副本)。但我还没有告诉 HyperDB 使用哪一个。

所以我可以安全地假设:

  1. HyperDB 将为我完成工作
  2. 如果没有,我应该使用什么配置

我目前的配置:


// 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,
));

标签: phpmysqlwordpress

解决方案


推荐阅读