Redis FLUSHALL

<< FLUSHDB SLAVEOF >>

Redis FLUSHALL

개요 槪要 Outline

레디스 서버의 모든 데이터(키와 값)를 삭제한다.

설명 說明 Explanation

Redis Server 4.0.0 부터 async 옵션을 사용할 수 있습니다. Async 옵션을 사용하면 별도의 쓰레드에서 background로 삭제하기 때문에 명령 응답 속도가 매우 빠릅니다.   아래 예에서 String key 1백만개를 flush할 경우 첫 번째는 1.18초 걸렸는데, async 옵션을 사용한 두 번째는 1ms 미만 걸렸습니다.

127.0.0.1:6000> flushall
OK
(1.18s)
127.0.0.1:6000> flushall async
OK

참고 자료

  • 레디스 서버 쓰레드에 관한 설명
  • flushall async와 같이 별도의 쓰레드가 처리하는 UNLINK 명령에 관한 설명
  • 관련 소스: db.c emptyDb(), lazyfree.c emptyDbAsync()
  • db.c lazyfree.c

명령문 Command

flushall [async]

  • 이 명령은 version 1.0.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N)입니다. N은 키의 개수입니다.   Async 옵션을 사용했을 경우 새로운 DB(hash table)을 생성해서 제공하고, 키 삭제는 별도 쓰레드에서 background로 처리하므로 응답시간은 O(1)입니다.
  • 이 문서는 버전 4.0.0를 기준으로 만들었다.
Clients for C Hiredis



<< FLUSHDB FLUSHALL SLAVEOF >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 返事がかかってなれば、メールでお知らせします。