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 답글이 올라오면 이메일로 알려드리겠습니다.

패턴으로 값을 조회하고 삭제할 수 있어요.
리스트에서 "lls mylist user*" 이렇게 조회할 수 있구요.
user가 들어간 값들을 삭제하려면 "lrm mylist user*" 이렇게 하면 됩니다.
List에서는 LLS, LRM, Set에서는 SLS, SRM, ZSet에서는 ZLS, ZRM, Hash에서는 HLS, HRM 을 사용하면 됩니다.
게다가 LS는 소트 기능까지 있습니다. 한번 사용해 보세요. ^^
궁금하신 사항이 있으면 여기로 redisgate@gmail.com 메일 주세요.
 
close
IP를 기반으로 보여집니다.