DB

[Redis] Redis란?

Raconer 2024. 2. 20. 23:56
728x90

📌 Redis란?

Remote Dictionary Server
In-Memory 기반의 Key-Value 저장소

  • 데이터를 메모리(RAM)에 저장하여 매우 빠른 속도 제공
  • 기본적으로 휘발성이지만 영속성 기능도 지원
  • 미들웨어 또는 빠른 스토리지로서 활용 가능

🧩 Redis의 특징

구분 설명
Storage 데이터를 일시적으로 저장하는 저장소 관점
Database 전통적인 RDBMS처럼 영속성 보장 가능 (옵션)
Middleware 어플리케이션 사이에서 기능을 제공하는 소프트웨어

🛠 Redis의 주요 활용

  • Session Store: 로그인 세션 유지
  • Cache: DB 조회 결과 캐싱
  • Rate Limiter: 요청 제한 처리
  • Job Queue: 백그라운드 작업 큐

⚡ In-Memory DB란?

데이터를 디스크가 아닌 메모리에 저장하여 극단적인 속도를 제공하는 DB

📊 Memory vs Disk 속도 비교

매체 READ 속도 WRITE 속도 특징
HDD 130 MB/s 120 MB/s 느림
SSD 500 MB/s 250 MB/s HDD보다 3~4배 빠름
RAM 20,000 MB/s 20,000 MB/s SSD보다 40배 이상 빠름

🎯 In-Memory DB의 특성

  • 장점: 매우 빠른 응답속도
  • 단점: 휘발성 (전원 OFF 시 데이터 손실 가능)

🆚 Redis vs RDBMS

항목 Redis RDBMS
목적 단기 저장 (세션, 캐시 등) 영속적 데이터 저장
속도 매우 빠름 상대적으로 느림
영속성 선택적 제공 기본 제공
활용 보조 스토리지 주 스토리지

🧱 Redis는 Key-Value Store

HashMap처럼 Key를 통해 Value를 바로 찾는 구조

✅ Key-Value Store란?

  • 데이터를 Key → Value 형태로 저장
  • 가장 단순하고 빠른 저장 구조

장점

  • 구조가 단순해 사용이 쉬움
  • 빠른 읽기 속도 (Hash 기반)
  • 수평적 확장(분산 환경에 유리)

단점

  • Key로만 데이터 접근 가능
  • 복잡한 쿼리나 범위 검색 불가

Key-Value Store의 활용 예시

  • 프로그래밍 언어의 자료구조: HashMap, Dict, Map
  • NoSQL: Redis, DynamoDB, Riak
  • 높은 성능, 확장성을 요구하는 단순 데이터 저장

Redis는 빠르고 유연하며 다양한 자료구조(List, Set, Hash, Sorted Set 등)를 제공하는 강력한 In-Memory Key-Value DB입니다.

728x90

'DB' 카테고리의 다른 글

[Redis] Data Type (Sorted Sets, Bitmaps, HyperLogLog)  (0) 2024.02.23
[Redis] Data Type (Strings, Lists, Sets, Hashes)  (0) 2024.02.23
MongoDB 구성  (0) 2024.02.18
SQL VS NoSQL (MongoDB 공부 전 )  (0) 2024.02.18
Mysql Procedure  (0) 2024.02.03