>  기사  >  데이터 베이스  >  Redis에서 마스터-슬레이브 복제를 수행하는 방법

Redis에서 마스터-슬레이브 복제를 수행하는 방법

(*-*)浩
(*-*)浩원래의
2019-11-21 13:27:233137검색

Redis에서 마스터-슬레이브 복제를 수행하는 방법

Redis 마스터-슬레이브 복제 동기화 구현 프로세스

1. 슬레이브 서비스는 전체 동기화를 요구하는 동기화 명령을 메인 서비스에 보냅니다(권장 학습: Redis 비디오 튜토리얼)

2. 메인 서비스 수신 서비스에서 명령을 동기화하면 백그라운드에서 하위 프로세스가 분기되어 bgsave 명령(비차단)을 실행하여 스냅샷을 저장하고, RDB 파일을 생성하고,

RDB 파일을 슬레이브 서비스

3. 그러면 슬레이브 서비스가 RDB를 수신합니다. 파일은 자체 Redis 메모리에 로드됩니다

4. 슬레이브 서비스가 RDB 로드를 완료한 후 마스터 서비스는 버퍼에 있는 모든 쓰기 명령을 슬레이브 서비스

5. 슬레이브 서비스는 데이터의 완전한 동기화를 달성하기 위해 마스터 서비스 메모리의 모든 쓰기 명령을 로드합니다.

6. 슬레이브 서비스가 다음에 데이터를 동기화해야 할 때는 자체 오프셋 위치( mysql binlog 위치와 동일) 새로 추가된 데이터만 동기화되며 더 이상 전체 동기화가 필요하지 않습니다

구성 파일을 통해 마스터-슬레이브 동기화 달성

1. 슬레이브 서비스 구성 파일만 구성하면 됩니다

[root@localhost ~]# vim /app/redis/etc/redis.conf
…..
slaveof 192.168.1.9 6379  #添加属于某台主机的从 服务
…..
masterauth 123456  #从服务连接主服的密码
……
slave-read-only yes  #从服务只读,不可在命令行写入数据
……

2. 마스터-슬레이브 연결을 달성하려면 슬레이브 서비스를 다시 시작하세요

[root@localhost ~]# redis-server /app/redis/etc/redis.conf
[root@localhost ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
#Replication
role:slave
master_host:192.168.1.9
master_port:6379
master_link_status:up
……
……

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

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