Redis

2024. 6. 16. 22:42TIL

✔오늘 배운 중요한 🔑 point

  • Redis는 인메모리 데이터 구조 저장소로 빠른 데이터 액세스에 강점이 있다

🎯 오늘 배운 내용

 

Redis란?

Redis( Remote Dictionary Server )

인메모리 데이터 구조 저장소
키-값(key-value) 형태의 데이터를 저장
고성능을 목표로 설계

 

특징

 

  • 인메모리 저장소: 모든 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 성능을 제공
  • 다양한 데이터 구조: List, Set, Hash, Sorted Set, Bitmap, HyperLogLog, Geospatial Index 등의 다양한 데이터 구조를 지원.
  • 퍼시스턴스: 데이터를 디스크에 저장하여 데이터 손실을 방지. 데이터베이스 덤프(RDB)와 명령어 로그(AOF) 방식을 지원.
  • 복제: 마스터-슬레이브 복제를 지원하여, 데이터를 여러 서버에 복제하여 가용성과 내결함성을 높일 수 있음.
  • 고가용성: Redis Sentinel을 사용하여 고가용성을 보장 가능. Sentinel은 Redis 인스턴스를 모니터링하고 장애 조치(failover)를 자동으로 처리.
  • 클러스터링: Redis 클러스터를 사용하여 데이터를 여러 노드에 분산 가능. 이는 확장성과 가용성을 향상시킴

 

 

Redis와 MySQL과의 차이

 

Redis MySQL
인메모리 데이터 구조  관계형 데이터베이스 관리 시스템
데이터를 메모리에 저장 데이터를 디스크에 저장
KEY-VALUE 형태의 데이터 모델 테이블 형태의 데이터 모델
조인 지원하지 않음 조인 지원
데이터의 일관성보다는 속도에 중점  데이터의 일관성에 중점
빠른 성능 느린 성능 
Redis 클러스터로 확장 샤딩을 통해 확장
복잡한 롤백 기능 없음 복구 및 백업 강력

 

 

 

🤔 어떻게 활용할까?

MySQL같은 RDBMS는 전자상거래 플랫폼, 금융 시스템, ERP,CRM등 데이터의 일관성과 복잡한 쿼리가 중요한 애플리케이션에 사용되고

Redis는 캐싱 시스템, 실시간 분석, 실시간 채팅 애플리케이션 같은 빠른 데이터 액세스가 필요한 애플리케이션 등에 사용이 된다

 

📓 오늘의 한줄

"There is nothing either good or bad, but thinking makes it so."

- William Shakespeare