SteadyDrills

Redis란? 본문

웹개발

Redis란?

Drills 2024. 11. 8. 21:40


레디스(Redis)

오픈 소스 인메모리 데이터 구조 저장소로, 키-값 저장소의 형태를 가지고 있다. 데이터는 메모리에 저장되며, 다양한 데이터 구조(문자열, 리스트, 세트, 해시 등)를 지원한다.

 

 

 

장점

  • 빠른 성능: 메모리 기반 저장소이기 때문에, 데이터 읽기 및 쓰기 속도가 매우 빠르다.
  • 다양한 데이터 구조: 문자열, 리스트, 세트, 해시, 정렬된 세트 등 여러 데이터 구조를 지원하여 유연하게 사용할 수 있다.
  • 퍼시스턴스 옵션: 메모리 내 데이터를 디스크에 저장할 수 있는 옵션이 있어 데이터 손실을 방지할 수 있다.
  • 고가용성: 복제 및 클러스터링 기능을 통해 고가용성을 제공하며, 장애 발생 시에도 데이터 접근이 가능하다.
  • 간편한 사용: 직관적인 명령어와 API로 사용이 간편하다.

 

단점

  • 메모리 제한: 모든 데이터가 메모리에 저장되기 때문에 대량의 데이터를 처리할 경우 메모리 용량이 제한될 수 있다.
  • 복잡한 쿼리 제한: SQL과 같은 복잡한 쿼리를 지원하지 않아 관계형 데이터베이스에 비해 제한적이다.
  • 데이터 일관성: 기본적으로 최종 일관성을 제공하므로, 데이터 일관성이 중요한 경우 주의가 필요하다.
  • 운영 복잡성: 클러스터링이나 복제를 설정할 경우 운영이 복잡할 수 있다.

내가 생각하는 사용 이유

 

레디스는 빠르지만 모든 데이터가 메모리에 저장되기 때문에 데이터의 양은 적고 속도는 빨라야 하는 상대적으로 단순한 기능에 사용하는 거 같다. 실제 구현 가능한 기능들로는 메세지 브로커, 위치 기반 서비스, 상품(콘탠츠) 추천 등이 있다.

 

 

'웹개발' 카테고리의 다른 글

RESTful 아키텍처  (0) 2024.11.17
SQLite란?  (4) 2024.11.13
Gunicorn란?  (0) 2024.11.07
NGINX란?  (1) 2024.11.06
Process Flow란?  (0) 2024.09.23