首页 > 作文

laravel学习:主从读写分离配置的实现

更新时间:2023-04-07 20:04:05 阅读: 评论:0

本篇文章给大家带来的内容是关于laravel学习:主从读写分离配置的实现,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

在db的连接工厂中找到以下代码
…/vendor/laravel/framework/src/illuminate/databa/connectors/connectionfactory.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

/**

* get the read configuration for a read / write connection.

*

* @param array $config

* @return array

*/

protected function getreadconfig(array $config)

{

$readconfig = $this->getreadwriteconfig($config, 'read');

return $this->mergereadwriteconfig($config, $readconfig);

}

/**

* get a read / write level configuration.定向就业

*

* @param array $config

* @param string $type

* @return array

*/

protected function getreadwriteconfig(array $config, $type)

{

if (ist($config[$type][0])) {

return $config[$t用命ype][array_rand($config[$type])];

}

return $config[$type];

}

/**

* merge a configuration for a read / write伤感图片带文字的图片 connection.

*

* @param array $config

* @param array $merge

* @return array

*/

protected function mergereadwriteconfig(array $config, array $merge)

{

return array_except(array_merge($config, 南宁简称$merge), ['read', 'write']);

}

工厂类通过随机获取读db配置来进行读取操作,由此可推出db的配置应该如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

'mysql' => [

'write' => [

'host' => '192.168.1.180',

],

'read' => [

['host' => '192.168.1.182'],

['host' => '192.168.1.179'],

],

'driver' => 'mysql',

'databa' => 'databa',

'urname' => 'root',

'password' => '',

'chart' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

]

加强版,支持多主多从,支持独立用户名和密码,配置如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

'mysql' => [

'write' => [

[

'host' => '192.168.1.180',

'urname' => '',

'password' => '',

],

],

'read' => [

[

'host' => '192.168.1.182',

'urname' => '',

'password' => '',

],

[

'host' => '192.168.1.179',

'urname' => '',

'password' => '',

],

],

'driver' => 'mysql',

'databa' 伸出自己的手=> 'databa',

'chart' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

]

验证
开启mysql的general-log,通过tail -f的方式监控log变化来确定配置是否生效

本文发布于:2023-04-07 20:04:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/d9de1d4ec65e1eded1f8c99937987528.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:laravel学习:主从读写分离配置的实现.doc

本文 PDF 下载地址:laravel学习:主从读写分离配置的实现.pdf

标签:自己的   工厂   主从   南宁
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图