오늘은 그냥 간단하게, 3가지 정도만 찾아봤는데.. 그 중에 하나는 친구가 필기 질문 받았던 걸로 정리 ㅎㅎ
- 힙과 스택의 차이
- 힙과 스택은 JVM의 메모리 구조 중 하나로, 저장하는 대상과 관리 방식이 다릅니다.
- 스택은 메서드 호출 시 생성되는 지역 변수나 매개변수를 저장하며, 빠르고 자동으로 해제됩니다. 반면 힙은 new 키워드로 생성된 객체가 저장되는 공간으로, GC가 메모리를 관리하고 객체 수명도 더 깁니다.
- 따라서 성능이나 메모리 효율을 고려할 때 두 구조의 차이를 이해하는 것이 중요합니다.
- Redis, Memcached
- Redis와 Memcached는 모두 인메모리 기반의 Key-Value 저장소지만, 사용 목적과 구조에 차이가 있습니다.
- Redis는 싱글스레드 기반으로 동작하며 다양한 자료구조(String, List, Set등)를 지원합니다. 또한 여러 용도(Pub/Sub, 트랜잭션 기능 등)로 사용할 수 있도록 다양한 기능을 지원합니다. 또한 RDB(스냅샷), AOF 로그 방식으로 데이터를 디스크에 저장해 복구가 가능하므로, DB + 캐시 역할 모두 가능합니다.
- Memcached는 멀티스레드를 지원해서 멀티 프로세싱이 가능합니다.
- 단순한 문자열 기반 캐시 저장만 가능해 기능은 제한적입니다.
- TCP, UDP
- TCP와 UDP는 전송 계층의 통신 프로토콜로, 신뢰성과 속도에서 차이가 있습니다.
- TCP는 연결 기반으로, 데이터의 순서 보장과 재전송 기능이 있어 안정적입니다.
- UDP는 연결 없이 빠르게 전송하지만 순서나 신뢰성을 보장하지 않아 영상 스트리밍 등 속도가 중요한 곳에 적합합니다.
참고자료
https://f-lab.kr/insight/understanding-stack-and-heap
✅ Redis에서의 RDB, AOF란?
📌 RDB (Redis Database Snapshot)
- Redis 내부에서 주기적으로 메모리에 있는 데이터를 디스크에 저장(스냅샷) 하는 방식입니다.
- 특정 시점의 데이터를
.rdb파일로 저장하며, 서버가 재시작되면 이 파일을 읽어 복구합니다. - 장점: 빠른 복구, 전체 데이터 백업
- 단점: 백업 간격 사이의 데이터는 손실될 수 있음
📌 AOF (Append Only File)
- Redis에서 일어나는 모든 쓰기 명령을 로그 형태로 기록하는 방식입니다.
- Redis 재시작 시 이 로그를 재실행하여 데이터를 복원합니다.
- 장점: 데이터 유실 최소화
- 단점: 파일 크기 증가 → 주기적인 리라이팅 필요
📍 참고
- 여기서 RDB는 관계형 데이터베이스(Relational DB)가 아니라, Redis의 RDB 스냅샷 방식을 의미합니다.
'CS 및 면접복기' 카테고리의 다른 글
| 20250818 - 디자인 패턴 (2) | 2025.08.18 |
|---|---|
| 20250811 - Network (2) | 2025.08.11 |
| 20250807 - ALL (3) | 2025.08.07 |
| 20250806 - ALL (3) | 2025.08.06 |
| 20250805 - DB(1) (4) | 2025.08.05 |