Redis CLIENT PAUSE

Redis Server Course Redis Technical Support Redis Enterprise Server

Redis CLIENT PAUSE

서버에서 클라이언트의 명령 실행을 중지(block)합니다. 대상은 일반(pub/sub 포함) 클라이언트입니다. 마스터, 복제 서버간 복제용 클라이언트는 정상 작동합니다.
이 문서는 버전 6.2.4에서 작성되었습니다.

  • Client pause 명령 자체는 바로 OK로 응답합니다.
  • 마스터를 새 마스터로 이전할 경우 사용합니다.
    이미 접속한 클라이언트는 명령 실행이 중지됩니다. 새로운 접속을 할 수 없습니다.
    새 마스터를 구성한 다음 클라이언트는 새 마스터에 접속합니다. 이 경우 ALL 옵션을 사용합니다.
  • ALL 옵션을 사용하면 이후 모든 명령을 실행할 수 없습니다. Client unpause, shutdown 명령도 실행할 수 없습니다.
  • Write 옵션을 사용하면 쓰기 명령만 실행이 중지됩니다. 조회 명령은 실행이 가능합니다.
  • Write 옵션을 사용했을 경우 Client unpause로 해제할 수 있습니다.
  • Client pause 명령이 실행되면 클라이언트 명령은 client buffer에 저장됩니다. 이것의 사이즈 제한은 client-query-buffer-limit로 1gb(default)입니다. 클라이언트들이 일반적으로 Sync로 명령을 실행하므로 첫 번째 명령의 결과가 리턴되지 않으므로 대기하게 됩니다. 그러므로 client buffer가 다 소모될 확율은 매우 적습니다.
  • 버전 3.2.10과 4.0 이후 부터 client pause 동안 키가 만료되거나 추출(eviction)되는 것이 중지됩니다. 즉, 데이터가 변경되지 않고 보존됩니다.
  • 버전 6.2 부터 Write 옵션이 추가되었습니다. 디폴트는 All 입니다.

Example

명령>client pause 30000
결과>OK

CLIENT UNPAUSE

Pause된 클라이언트를 해제합니다. 이것은 Write 옵션을 사용해서 Pause했을 경우 가능합니다. ALL 옵션을 사용하면 Unpause 명령도 작동하지 않습니다.


명령문

CLIENT PAUSE timeout [WRITE|ALL]

  • 이 명령은 version 2.9.50 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(1)입니다.
  • 버전 6.2 부터 Write, All 옵션이 추가되었습니다.
Clients for C Hiredis

<< CLIENT KILL CLIENT PAUSE CLIENT REPLY >>

조회수 :

Email 답글이 올라오면 이메일로 알려드리겠습니다.