1. Redis란 무엇인가?

- Remote Dictionary Server의 약자
- 메모리 기반의 Key-Value 저장소
- 데이터구조 서버: 문자열(String), 리스트(List), 셋(Set), 해시(Hash), 정렬된 셋(Sorted Set) 등을 지원
- 비동기식 복제, Lua 스크립트 실행, LRU 기반 캐시, Pub/Sub 지원
- 다양한 언어의 클라이언트 라이브러리 제공 (Java, Python, Node.js 등)

2. Redis가 빠른 이유

2.1 메모리 기반 저장소

- 모든 데이터를 메모리에 저장하고, 디스크는 백업용으로만 사용 → 빠른 접근 속도
- Memory Access 시간은 Random disk I/O보다 몇 배는 더 빠르다.
- 메모리 액세스는 높은 Read/Write 처리량과 낮은 지연이라는 장점이 있다.
- 단점으로는 데이터 저장 크기가 메모리라서 크지 않다는 점이다.
2.2 단일 스레드 이벤트 루프 기반
- Redis는 단일 스레드로 작동 → 락(lock) 경합이 없음
- 요청은 순차적으로 처리되므로 컨텍스트 스위칭 비용이 적음
- 단일 스레드지만 빠른 이유는 - [I/O 멀티플렉싱 모델] 을 적용했기 때문