💡 오늘 배운 것 (TIL)
오늘은 인메모리 데이터 저장소인 Redis에 대해 공부했다.
Redis는 빠르고, 가볍고, 다양한 데이터 구조를 지원하는 NoSQL 기반의 Key-Value 저장소다.
🔧 Redis의 핵심 개념
항목설명
이름 | Redis (REmote DIctionary Server) |
유형 | In-memory Key-Value Store |
특징 | 빠른 속도, 다양한 데이터 타입, Pub/Sub 지원 |
언어 | C 언어로 구현됨 |
사용 사례 | 캐시, 세션 저장, 순위표, Pub/Sub 메시징 등 |
🧠 주요 기능 정리
1. In-Memory 저장소
- 모든 데이터를 **메모리(RAM)**에 저장 → 매우 빠른 읽기/쓰기 속도
- 디스크에 백업도 가능 (RDB, AOF 방식)
팁: 캐시로 사용할 때는 TTL(Time To Live) 설정으로 자동 만료 기능을 활용할 수 있다!
2. 다양한 데이터 타입 지원
- String, List, Set, Sorted Set, Hash, Bitmap, HyperLogLog, Stream 등
팁: Sorted Set은 순위 데이터(예: 게임 점수 랭킹)에 특히 유용하다!
3. Persistence(영속성) 옵션
- RDB(Snapshot 방식): 주기적으로 디스크에 저장
- AOF(Append Only File): 모든 변경 명령을 로그로 저장
팁: RDB는 빠른 복구, AOF는 높은 내구성을 제공. 둘을 함께 사용할 수도 있음!
4. Pub/Sub 메시징 시스템
- Publisher가 메시지를 보내면, Subscriber가 받아보는 구조
팁: 마이크로서비스 간 실시간 메시지 전송에 적합하다!
5. 간단한 클러스터 구성
- Redis Cluster를 이용하면 수평 확장(Sharding)이 가능함
팁: 대규모 서비스에서는 클러스터 구성을 통해 데이터 분산 저장 및 처리 가능!
🛠 Redis를 사용하는 주요 사례
- 웹 애플리케이션의 세션 저장소
- 자주 조회되는 데이터의 캐싱
- 실시간 채팅 시스템의 메시지 브로커
- 실시간 순위표, 투표 시스템 등
✅ 오늘의 요약
- Redis는 빠른 속도의 인메모리 기반 NoSQL Key-Value 저장소다.
- 다양한 데이터 타입을 지원하며, 캐싱과 Pub/Sub, 세션 저장 등에 활용된다.
- 메모리에 데이터를 저장하지만, 영속성 옵션도 제공한다.
간단한 클러스터 구성
# 📘 TIL - Docker 설치 및 Redis 실행 (Windows / macOS 공통)
## 🐳 1단계: Docker Desktop 설치하기
### ✅ 1-1. 사전 요구 사항 확인
| 항목 | 조건 |
|------|------|
| 운영체제 | Windows 10 Pro / Enterprise / Education (1903 이상)<br>Windows 11 Home<br>macOS (Intel 또는 Apple Silicon) |
| BIOS 설정 (Windows 전용) | 가상화(Virtualization) 활성화 필요 |
---
### ✅ 1-2. Docker Desktop 다운로드
- 공식 Docker 다운로드 링크 접속:
- 자신의 운영체제에 맞는 버전 다운로드:
- Windows: **Download for Windows**
- macOS: **Download for Mac (Intel)** or **(Apple Chip)** 선택
---
### ✅ 1-3. 설치 및 실행
1. 다운로드한 `.exe` 또는 `.dmg` 파일 실행
2. 기본 설정 그대로 설치 진행
3. 설치 완료 후 Docker Desktop 실행
4. 처음 실행 시 백그라운드 서비스 구성 (수 분 소요 가능)
---
### ✅ 1-4. 설치 확인
```bash
docker --version
```
**예시 출력**:
```bash
Docker version 28.0.4, build b8034c0
```
> 위처럼 버전 정보가 나오면 정상 설치 완료 🎉
---
## 🧪 2단계: Docker 작동 테스트
```bash
docker run hello-world
```
**예시 출력**:
```bash
Hello from Docker!
This message shows that your installation appears to be working correctly.
```
> 위 메시지가 나오면 Docker가 잘 작동 중입니다 💪
---
## 📦 3단계: Redis 컨테이너 실행
```bash
docker run -d -p 6379:6379 --name my-redis redis
```
- `-d`: 백그라운드 실행
- `-p`: 포트 매핑 (호스트:컨테이너)
- `--name`: 컨테이너 이름 지정 (`my-redis`)
실행 확인:
```bash
docker ps
```
> `my-redis`가 `Up` 상태이면 성공!
---
## 🧪 4단계: redis-cli로 접속 테스트 (선택)
```bash
docker exec -it my-redis redis-cli
```
진입 후 다음 명령어 입력:
```bash
ping
```
**예시 응답**:
```bash
PONG
```
> Redis가 정상 작동 중입니다 🚀
---
## 💡 도커 기본 명령 요약
| 명령어 | 설명 |
|--------|------|
| `docker ps` | 실행 중인 컨테이너 목록 확인 |
| `docker stop my-redis` | Redis 컨테이너 중지 |
| `docker start my-redis` | Redis 컨테이너 다시 시작 |
| `docker logs my-redis` | Redis 로그 확인 |
| `docker exec -it my-redis bash` | 컨테이너 내부 쉘 접속 |