본문 바로가기

카테고리 없음

📘 TIL: Redis란 무엇인가?

💡 오늘 배운 것 (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) 활성화 필요 |
| WSL2 (Windows 권장) | [WSL2 설치 가이드](https://learn.microsoft.com/ko-kr/windows/wsl/install) 참고 |

---

### ✅ 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` | 컨테이너 내부 쉘 접속 |