Yii2를 사용하여 마스터-슬레이브 데이터베이스 설정 구현
머리말
MySQL 마스터-슬레이브 동기화는 현재 널리 사용되는 데이터베이스 아키텍처입니다. 이 기술은 상대적으로 성숙되어 있으며 구성이 복잡하지 않습니다. 특히 로드가 많은 웹사이트의 경우 마스터-슬레이브 동기화를 효과적으로 수행할 수 있습니다. 데이터베이스 읽기 및 쓰기 압력. 이전에는 yii1을 사용할 때 마스터-슬레이브 데이터베이스 지원이 그리 편리하지 않았습니다. 여러 DB의 구성 요소를 작성한 다음 AR의 getDB에 해당 db를 반환하는 것뿐이었습니다. 이는 마스터-슬레이브 데이터베이스를 처리하는 데에도 사용할 수 있습니다.
구현 방법
Yii2는 이 문제를 해결했으며 코드에서 직접 처리할 수 있습니다.
PHP 코드
'db' =>[ 'class' => 'yii\db\Connection', // 配置主服务器 'dsn' => 'dsn for master server', 'username' => 'master', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'php_',//默认为空 // 配置从服务器 'slaveConfig' => [ 'username' => 'slave', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'php_', 'attributes' => [ // use a smaller connection timeout PDO::ATTR_TIMEOUT => 10, ], ], ];
정말 편리하지 않나요? 뿐만 아니라 슬레이브 서버 그룹도 구성할 수 있습니다:
PHP 코드
'db'=>[ //...上面是一些标准配置 'slaves' => [ ['dsn' => 'dsn for slave server 1'], ['dsn' => 'dsn for slave server 2'], ['dsn' => 'dsn for slave server 3'], ['dsn' => 'dsn for slave server 4'], ], ]
더욱 좋은 점은 메인 서버 역시 아래와 같이 문자 인코딩 세트, 테이블 등 다수의 메인 서버로 구성되어 있다는 점입니다. 접두사 및 기타 설정 위 내용을 참조하세요.
PHP 코드
'db'=>[ // 配置主服务器 'masterConfig' => [ 'username' => 'master', 'password' => '', 'attributes' => [ // use a smaller connection timeout PDO::ATTR_TIMEOUT => 10, ], ], // 配置主服务器组 'masters' => [ ['dsn' => 'dsn for master server 1'], ['dsn' => 'dsn for master server 2'], ], //other ...slaves ];
정말 쉽습니다.
물론 더 쉽게 사용하고 싶다면 실제로 YII2의 AR을 사용해야 합니다. 코드를 변경할 필요가 없습니다. .

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









