레디 스 클라이언트 버퍼

출력 (즉 명령의 리턴 값)가 레디 스 서버는, 그 크기는 일반적으로 통제된다. 가능한 간단한 명령은 부피가 큰 반환 데이터를 생성 할 수 있습니다. 아마 때문에 너무 많은 명령 실행이 클라이언트에 의해 전송 레이트 이상을 생성하는 리턴 데이터 레이트의 결과도있다, 서버는, 출력 버퍼 증가의 원인이있는 메시지가 다수 인 축적을 초래할 메모리를 너무 많이 소요될 수 심지어 시스템 충돌로 이어집니다.

다행히, 레디 스이 상황, 고객의 여러 종류의 서로 다른 제한 매개 변수를 피하기 위해 일부 보호 메커니즘을 설정합니다. 이 제한 가지 방법이 있습니다 :

(1) 클라이언트 버퍼를 직접 클라이언트에게 연결 해제, 특정 크기의 값을 초과하는 크기 제한;

(2) 제한을 위해 너무 많은 공간을 점유 시간에 대한 버퍼의 클라이언트가 직접 연결되어있는 경우, 클라이언트를 닫습니다.

 

의 출력 버퍼에 클라이언트를 구성하는 설정 파일을 살펴 보자 :

일반 클라이언트 출력 버퍼 제한 0 0 0

클라이언트 출력 버퍼 제한 슬레이브 메가 바이트 64메가바이트 60

클라이언트 출력 버퍼 제한 pubsub 8메가바이트 2메가바이트 60

 

다른 클라이언트는 다음과 같은 정책이 서로 다른 전략을 가지고 :

Ø 일반 클라이언트의 제한은 제한되지 않는다 제로입니다. 일반 클라이언트는 일반적으로 메시지 응답 모드를 차단하기 때문에, 무엇을 차단? 예를 들면 : 반환 재전송 요청하고 복귀를 기다리는 대기 요청을 보냅니다. 이 모드에서, 서버는 일반적 레디 스 확장 버퍼 적재 출력을 초래하지 않는다

출력 버퍼 8M보다 더 많은 경우 펍 / 하위 클라이언트에 대한 Ø (즉 모델을 공개 / 등록), 크기 제한이 8M이며, 연결을 닫습니다. 클라이언트 버퍼 사이즈는 2M는, 클라이언트 접속이 폐쇄 60 초 초과하면, 계속하여 제한이고;

Ø 슬레이브 클라이언트의 크기 제한은 256M, 64M 이상 60 초 클라이언트의 버퍼 크기, 클라이언트 연결이 종료 영구 제한된다.

추천

출처www.cnblogs.com/tomcuper/p/11534202.html