>데이터 베이스 >Redis >Redis에서 마스터-슬레이브를 동기화하는 방법

Redis에서 마스터-슬레이브를 동기화하는 방법

(*-*)浩
(*-*)浩원래의
2019-11-27 09:11:054291검색

Redis에서 마스터-슬레이브를 동기화하는 방법

MySQL 마스터-슬레이브 복제와 같은 이유로 Redis는 읽기 및 쓰기 속도가 매우 빠르지만 읽기 부담이 매우 높을 수도 있습니다. 읽기 부담을 공유하기 위해 Redis는 마스터-슬레이브 복제를 지원합니다. Redis의 마스터-슬레이브 구조는 하나의 마스터와 여러 슬레이브를 사용할 수도 있고 아래 그림은 캐스케이드 구조를 보여줍니다. (추천 학습: Redis 동영상 튜토리얼)

Redis에서 마스터-슬레이브를 동기화하는 방법

Redis 마스터-슬레이브 복제는 전체 동기화 여부에 따라 전체 동기화와 증분 동기화로 나눌 수 있습니다.


1 전체 동기화


Redis 전체 복제는 일반적으로 슬레이브 초기화 단계에서 발생합니다. 이때 슬레이브는 마스터의 모든 데이터를 복사해야 합니다. 구체적인 단계는 다음과 같습니다.

1) 슬레이브 서버가 메인 서버에 연결하고 SYNC 명령을 보냅니다.

2) 메인 서버가 SYNC 이름 지정을 수신한 후 BGSAVE 명령을 실행하여 RDB 파일을 생성합니다.

3) 마스터 서버 BGSAVE가 실행된 후 모든 슬레이브 서버에 스냅샷 파일을 전송하고 전송 프로세스 중에 실행된 쓰기 명령을 계속 기록합니다.

4)

5) 마스터 서버 스냅샷이 전송된 후 버퍼에 있는 쓰기 명령을 슬레이브 서버로 보내기 시작합니다.

6) 슬레이브 서버는 스냅샷 로드를 완료하고 명령 요청 수신을 시작하며 마스터 서버에서 쓰기 명령을 실행합니다.

위 단계를 완료하면 슬레이브 서버 데이터 초기화의 모든 작업이 완료됩니다. 사용자의 요청.

Redis에서 마스터-슬레이브를 동기화하는 방법

2 증분 동기화

Redis 증분 복제는 초기화 후 슬레이브가 정상적으로 작동하기 시작할 때 마스터 서버에서 발생하는 쓰기 작업을 슬레이브 서버에 동기화하는 프로세스를 말합니다.

증분 복제 과정은 주로 마스터 서버가 쓰기 명령을 실행할 때마다 동일한 쓰기 명령을 슬레이브 서버에 보내고, 슬레이브 서버는 수신된 쓰기 명령을 받아 실행하는 것입니다.

3 Redis 마스터-슬레이브 동기화 전략

마스터-슬레이브가 방금 연결되면 전체 동기화가 완료된 후 전체 동기화가 수행되고 증분 동기화가 수행됩니다. 물론, 필요한 경우 슬레이브는 언제든지 전체 동기화를 시작할 수 있습니다. Redis 전략은 무슨 일이 있어도 증분 동기화를 먼저 시도하고, 실패할 경우 슬레이브 머신에서 전체 동기화를 수행해야 한다는 것입니다.

더 많은 Redis 관련 기술 기사를 보려면

Redis 시작 튜토리얼

칼럼을 방문하여 알아보세요!

위 내용은 Redis에서 마스터-슬레이브를 동기화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.