Redis SAVE

<< BGREWRITEAOF BGSAVE >>

Redis SAVE

개요 槪要 Outline

RDB(snapshot) 파일을 Sync 방식으로 저장한다.   이 명령은 레디스 메모리에 있는 모든 데이터를 RDB 포멧으로 저장한다.   서버 인스턴스에서 직접 수행하기 때문에 완료될 때까지 서버는 다른 일을 처리하지 못한다.

설명 說明 Explanation

레디스 클라이언트에서 SAVE 명령을 수행하면 완료될 때까지 대기한다.   완료되면 OK 메시지를 내보내고 프롬프트가 뜬다.

127.0.0.1:7000> save
OK
(11.64s)
127.0.0.1:7000>

Bgsave가 이미 진행중이라면 "Background save already in progress" 메시지를 내보내고 중지한다.

서버 로그: Save가 완료되면 로그가 남는다.

47168:M 01:14:46.152 * DB saved on disk

일반적으로 save 명령은 시간이 많이 걸리기 때문에 slowlog 나 latency monitor를 설정해 놓았다면 조회해 볼 수 있다.
slowlog 조회 결과: 2 번째 항목이 발생(완료) 시각이고, 3 번재 항목 응답 시간(microseconds)이고, 네 번재 항목이 명령이다.

127.0.0.1:7000> slowlog get
1) 1) (integer) 2
2) (integer) 1475943286
3) (integer) 11636910
4) 1) "save"

latency 조회 결과: 1 번째 항목이 이벤트명(command)이고, 2 번째 항목이 발생(완료) 시각이고, 3 번째 항목 마지막 응답 시간(milliseconds)이고, 네 번째 항목이 최대(max) 응답 시간이다.

127.0.0.1:7000> latency latest
2) 1) "command"
2) (integer) 1475943286
3) (integer) 11636
4) (integer) 11636

info persistence 명령으로 마지막 저장 시각을 볼 수 있다.

127.0.0.1:7000> info persistence
rdb_last_save_time:1475943286

lastsave 명령으로도 확인 할 수 있다.

127.0.0.1:7000> lastsave
(integer) 1475943286

위 네 개의 timestamp는 모두 같은 시각이다.   이 timestamp를 일시로 변환해 보면 서버 로그 시각과 같음을 알 수 있다.

# date -d @1475943286
2016. 10. 09. (일) 01:14:46 KST

레디스 Persistence와 RDB에 대한 일반적인 내용이 궁금하면 Redis Persistence를 보세요.

Save 명령의 자세한 내부 구조는 RDB Save를 보세요.

RDB 파일 format에 대한 자세한 설명은 RDB Format를 보세요.


명령문 Command

SAVE

  • 이 명령은 version 1.0.0 부터 사용할 수 있다.
  • 이 문서는 버전 3.2.2를 기준으로 만들었다.
Clients for C Hiredis


<< BGREWRITEAOF SAVE BGSAVE >>

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

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