References

https://redis.io/docs/about/

https://devlog-wjdrbs96.tistory.com/374

https://www.psjco.com/26

https://mozi.tistory.com/371

https://hoooon-s.tistory.com/25

 

 

Redis의 정의

Redis(Remote Dictionary Server)는 의 키-값(Key-Value) 형태의 데이터를 저장 / 관리하기 위한 비 관계형 DBMS이다.

 

 

Redis의 특징

Redis의 특징은 다음과 같다.

장점 단점
다양한 데이터 구조를 지원한다. (String, List, Set, Hash 등) 메모리 사용량이 많다.
메모리 + 디스크 활용으로 영속적인 데이터 보관이 가능하다. 대규모 트래픽시 응답속도가 불안정하다.
서버 측에서 데이터 복제 / 샤딩을 지원한다.  
데이터 특성 상 호환되는 API가 많다.  

 

Redis의 데이터 기록 방식

Redis의 경우 영속적인 특성 상 데이터를 디스크에 저장할 수 있는데 이는 나중에 서버가 다운되더라도 디스크에 저장된 데이터를 읽어서(Read) 메모리에 로딩을 할 수 있다.

그러한 이유로 Redis는 데이터를 디스크에 저장하는 두 방식이 있는데 다음과 같다.

 

RDB(Redis Database) 방식

특정 시점의 메모리에 있는 데이터 전체를 바이너리 파일로 저장한다.

바이너리 특성 상 로우 레벨 언어이기 때문에 원인 분석이 어렵지만 파일 사이즈가 작아 로딩 속도가 빠르다.

 

AOF(Append On File) 방식

Redis의 기본 옵션으로, 모든 쓰기(Write) 및 변경(Update) 연산 자체를 별도의 log 파일에 기록한다.

하이 레벨 언어 그대로 log 파일에 저장되기 때문에 원인 분석이 쉽지만 그만큼 내용이 쌓일 수록 파일 사이즈가 커지기 때문에 rewrite 기능으로 파일 데이터를 다시 쓴다.

'Self-Study > 기타' 카테고리의 다른 글

[Elastic] Filebeat의 기본 개념  (0) 2022.09.13
[Elastic] Logstash의 기본 개념  (0) 2022.09.13
[Elastic] Kibana Discover  (0) 2022.09.13
[Github] 깃허브 프로필 README  (0) 2022.08.24
[Auth] passkey  (0) 2022.07.05