이를 마스터-슬레이브 복제라고 합니다. 호스트 데이터가 업데이트된 후 구성 및 정책에 따라 마스터/슬레이브 메커니즘에 자동으로 동기화됩니다. 마스터는 주로 쓰기용입니다. 주로 독서용이다.
1. 읽기와 쓰기의 분리
2.
1. 슬레이브(라이브러리)는 있지만 마스터(라이브러리)는 없습니다.
2. 슬레이브 라이브러리 구성: 슬레이브of [메인 라이브러리 포트]
보충: 슬레이브가 마스터에서 연결이 끊어질 때마다 , redis.conf 파일을 구성하지 않는 한 모두 다시 연결해야 합니다.
redis 마스터-슬레이브 정보를 보려면 정보 복제를 입력하세요.
3. 구성 파일 세부 정보 수정
- 여러 redis.conf 파일 복사
- 포트 지정
- 데몬화 켜기 yes
- Pid 파일 이름
-로그 파일 이름
-Dump.rdb 이름
4. 일반적으로 사용되는 3가지 트릭
-마스터 1명과 서번트 2명
마스터 1명, 슬레이브 2명, 슬레이브는 읽기만 가능 그러나 쓰기는 불가능합니다. 슬레이브가 마스터에서 연결이 끊어지면 마스터가 끊어진 후에도 이전 마스터-슬레이브 관계가 설정되기 전에 슬레이브를 다시 연결해야 하며 마스터를 다시 시작하면 복원될 수 있습니다. .
- Passing on the fire
이전 슬레이브는 다음 슬레이브의 마스터가 될 수 있습니다. 또한 슬레이브는 다른 슬레이브로부터 연결 및 동기화 요청을 받을 수도 있습니다. 그런 다음 슬레이브는 체인에 있는 다음 슬레이브의 마스터가 됩니다. , 마스터의 쓰기 압력을 줄이는 것이 효과적일 수 있습니다. 슬레이브 서버가 데이터 동기화를 위해 중간에 마스터 서버를 변경할 경우 기존 데이터는 삭제되고 최신 마스터 서버와의 동기화가 다시 이루어집니다.
- 고객 반대
마스터가 전화를 끊으면 슬레이브는 현재 Redis가 다른 마스터 Redis와 데이터를 동기화하는 것을 중지하고 마스터 Redis로 전환하기 위해 slaveof no one 명령을 입력할 수 있습니다.
1. 슬레이브가 시작되고 마스터에 성공적으로 연결되면 마스터는 저장 프로세스를 시작하라는 명령을 수신하고 동시에 모든 것을 수집합니다. 데이터 세트 수정을 위한 명령을 수신하면 마스터는 전체 데이터 파일을 슬레이브로 전송하여 완전한 동기화를 완료합니다.
3. 슬레이브 서비스는 데이터베이스 파일 데이터를 저장하고 로드합니다.
4 , 증분 복제: 마스터는 동기화를 완료하기 위해 계속해서 새로 수집된 모든 수정 명령을 슬레이브에 전달합니다. 그러나 마스터가 다시 연결되는 한 전체 동기화(전체 복제)가 자동으로 수행됩니다. 실행.
5. 센티넬 모드(sentinel)
주로 안티 고객인 자동 버전입니다. 마스터 라이브러리에 결함이 있는지 여부를 백그라운드에서 모니터링할 수 있으며, 실패하면 슬레이브 라이브러리를 기본 라이브러리로 자동 변환합니다. 득표수에 대해서. 센티넬 그룹은 동시에 여러 마스터를 모니터링할 수 있습니다.
사용 단계:1. 마스터의 redis.conf와 동일한 디렉터리에 새 sentinel.conf 파일을 생성합니다. 이름은 틀리지 않아야 합니다. 2. sentinel.conf 파일:
sentinel monitor 모니터링되는 데이터베이스의 이름(직접 이름 지정) IP 포트 1
설명: 위의 마지막 숫자 1은 호스트가 전화를 끊은 후 슬레이브가 투표한다는 의미입니다. 누가 호스트를 맡을지 확인하려면 호스트가 투표 수를 얻은 후 호스트가 됩니다.
3. 센티넬 모드 시작:
명령 입력: redis-sentinel /myredis/sentinel.conf
참고: 위 sentinel.conf 경로는 실제 상황에 따라 구성됩니다.
6 . 복사된 단점
1. 마스터 하나와 슬레이브 하나, 두 개의 redis.conf 파일을 생성합니다.
redis_6379.conf redis_6380.conf
bind 127.0.0.1 port 6379 protected-mode yes daemonize yes pidfile /var/run/redis_6379.pid logfile "/Data/apps/redis-3.2.12/logs/redis_6379.log" dbfilename dump_6379.rdb dir /Data/apps/redis-3.2.12/workplace requirepass paopao
3. 시작합니다. master redis-server 프로세스에서
bind 127.0.0.1 port 6380 protected-mode yes daemonize yes pidfile /var/run/redis_6380.pid logfile "/Data/apps/redis-3.2.12/logs/redis_6380.log" dbfilename dump_6380.rdb dir /Data/apps/redis-3.2.12/workplace slaveof 127.0.0.1 6379 masterauth paopao
5. 기타 관련 구성
redis-server /Data/apps/redis-3.2.12/conf/redis_6379.conf redis-server /Data/apps/redis-3.2.12/conf/redis_6380.conf
위 내용은 Redis는 마스터-슬레이브 복제를 어떻게 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!