yii2 mongodb 连接 mongo 副本集模式(复制集) 配置

时间:2022-07-26 02:36:57


1. 配置如下,关键点在

'mongodb' => [
//'class' => '\yii\mongodb\Connection',
'class' => 'backend\models\core\mongodb\Mconnection',
# 有账户的配置
//'dsn' => 'mongodb://developer:password@localhost:27017/mydatabase',
# 无账户的配置
//'dsn' => 'mongodb://10.10.10.252:27017/erp',
'dsn' => 'mongodb://10.10.10.252:10001/erp,mongodb://10.10.10.252:10002/erp,mongodb://10.10.10.252:10004/erp?replicaSet=terry&readPreference=primaryPreferred',
# mongodb://test:123456@mongodb1:27017,mongodb2:27017/?replicaSet=MyRepSet
],

replicaSet=terry&  # 副本集名称

readPreference=primaryPreferred # 另外一个参数,在主节点宕机后,会找到其他的节点。


使用副本集模式,不要把session放到mongodb中,本人测试,当mongdob的主节点宕机后,session会报错。

不过一般session是放到redis里面的。