티스토리 뷰
Redis 란?
Redis는 오픈 소스로서 NoSQL로 분류되기도 하고, Memcached와 같이 인 메모리 솔루션으로 분류되기도 한다. 성능은 Memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 DB, Cache, Message Queue, Shared Memory 용도로 사용될 수 있다.
한편, Redis는 Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 생각할 수 있다. 그래서 별도의 쿼리 없이 Key를 통해 빠르게 결과를 가져올 수 있다.
또한, 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 작업 속도가 상당히 빠르다.
즉, 레디스(Redis)는 고성능 키-값 저장소로서 문자열, 리스트, 해시, 셋, 정렬된 셋 형식의 데이터를 지원하는 NoSQL이다.
Redis의 특징
- 영속성을 지원하는 인 메모리 데이터 저장소
- 다양한 자료 구조를 지원함.
- 싱글 스레드 방식으로 인해 연산을 원자적으로 수행이 가능함.
- 읽기 성능 증대를 위한 서버 측 리플리케이션을 지원
- 쓰기 성능 증대를 위한 클라이언트 측 샤딩 지원
- 다양한 서비스에서 사용되며 검증된 기술
Redis의 영속성
Redis는 영속성을 보장하기 위해 데이터를 디스크에 저장할 수 있다.
서버가 내려가더라도 디스크에 저장된 데이터를 읽어서 메모리에 로딩한다.
데이터를 디스크에 저장하는 방식은 크게 두 가지가 있다.
RDB(Snapshotting) 방식
순간적으로 메모리에 있는 내용 전체를 디스크에 옮겨 담는 방식
AOF(Append On File) 방식
Redis의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 형태
Redis의 컬렉션
Redis 는 다양한 데이터 구조체를 지원하며, 이를 컬렉션이라고 부른다.
이것을 통해 Key가 될 수 있는 데이터 구조체가 다양한 것을 알 수 있다.
이렇게 다양한 자료 구조를 지원하게 되면 개발의 편의성이 좋아지고 난이도가 낮아진다는 장점이 있다.
Reference Link
'Tech Interview > 기술 면접 준비' 카테고리의 다른 글
[Backend 개발자 면접 준비] 자바에서 null을 다루는 방법 (0) | 2023.08.15 |
---|---|
[Backend 개발자 면접 준비] List 와 Set 차이 (0) | 2023.08.14 |
[Backend 개발자 면접 준비] 자료구조 - 스택(Stack) 과 큐(Queue) (0) | 2023.08.10 |
[Backend 개발자 면접 준비] 소프트웨어 개발 프로세스 모델 6가지 (0) | 2023.08.09 |
[Backend 개발자 면접 준비] 소프트웨어 개발 단계 (Software Life Cycle) (0) | 2023.08.08 |
- Total
- Today
- Yesterday
- 자바
- 제로베이스 백준 장학금
- 취업 준비
- 제로베이스 백엔드 스쿨
- 코테공부
- 코딩테스트 준비
- 주니어 개발자 취업 준비
- 취준
- 코테 준비
- java
- 개발자 취준
- 기술 면접 준비
- 백엔드 개발자 기술 면접 준비
- 알고리즘
- 코딩테스트공부
- 백엔드 개발자
- 취업준비
- 알고리즘 공부
- 프로그래머스 자바
- 코테준비
- 코딩테스트
- 프로그래머스 카카오
- 백준
- 개발자 면접 준비
- 개발자 취업 준비
- 자바공부
- 백엔드 개발자 취업 준비
- 알고리즘공부
- 프로그래머스
- 코딩테스트 공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |