Redis FLUSHDB

레디스 서버 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

Redis FLUSHDB

개요 槪要 Outline

현재 사용중인(선택된) DB의 모든 데이터(키와 값)를 삭제한다.

설명 說明 Explanation

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

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

버전 6.2에 Sync 옵션이 추가되었습니다. 이전 버전까지는 옵션을 사용하지 않으면 디폴트로 Sync로 작동했습니다. 버전 6.2 conf 파일에 lazyfree-lazy-user-flush가 추가되어 디폴트 작동을 변경할 수 있습니다. lazyfree-lazy-user-flush 가 no 일 경우 디폴트 작동은 Sync이고 yes 일 경우 디폴트 작동은 Async 입니다.

참고 자료

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

명령문 Command

flushdb [async]

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

<< DBSIZE FLUSHDB FLUSHALL >>

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

혹시 처음이세요?
레디스게이트에는 레디스에 대한 많은 정보가 있습니다.
레디스 소개, 명령어, SQL, 클라이언트, 서버, 센티널, 클러스터 등이 있습니다.
혹시 필요한 정보를 찾기 어려우시면 redisgate@gmail.com로 메일 주세요.
제가 찾아서 알려드리겠습니다.
 
close
IP를 기반으로 보여집니다.