백엔드/redis

[redis] 공식문서 파해치기

Koras02 2023. 1. 30. 14:18

이번 시간에는 비관계형 데이터베이스 중 

하나인 Redis 에 대해 알아보는 시간을 가져봅시다.

Redis란?

 

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker

redis.io

Redis 공식문서 사이트에 들어가면 

첫 번째 문단에 바로 이런 말이 적혀있습니다.

Redis는 수백만 명의 개발자가 데이터 베이스, 캐시, 스트리밍
엔진 및 메시지 브로커로 사용하는 오픈 소스이며 
메모리 내 데이터 저장소입니다.

5년 연속 가장 사랑받는 데이터베이스로

선정된 Redis는 개발자와 설계자 및 

 

오픈 소스 기여자로 구성된 커뮤니티를 

중심으로 점차 성장해온 데이터 베이스입니다.

 

Redis의 핵심 기능

 

Redis에는 총 6가지의 핵심 기능이 존재합니다.

  • 메모리 내 데이터 구조
    • 문자열, 해시, 목록, 집합, 정렬된 집합, 스트림 등을 
      지원하는 "데이터 구조 서버"로 알려져 있습니다.
  • 프로그램을 직접 짤수 있음
    • Lua를 이용해 Server-side Scripting과 Redis Functions를 
      사용해 서버측 저장 프로시저 구현
  • 확장성 
    • C, C++ 및 Rust에서 Redis에 대한 사용자 정의 확장을
      구축하기 위한 모듈 API
  • 지속성 
    • 빠른 액세스를 위해 데이터 세트를 메모리에 보관하지만
      재부팅 및 시스템 오류에서도 영구 저장소에 대한 모든 
      쓰기 기능을 유지할 수 있음
  • 클러스터링
    • 해시 기반 샤딩기능을 통해 수평 확장, 클러스터 확장 시
      모든 자동 재파티셔닝을 통해 수백만 개의 노드로 
      확장이 가능함 
  • 고가용성
    • 독립적인 실행형 및 클러스터된 배포 모두에 대해 
      자동 페일오버(장애 극복 기능)를 통해 복제가 가능합니다.

Redis 사용 사례

Redis를 사용하는 사례에 관해서는 

총 3가지로 나뉠 수 있습니다.

 

  • 실시간 데이터 저장소
    • Redis의 다용도 인메모리 데이터 구조를 사용하면
      짧은 대기 시간과 높은 처리량이 필요한 실시간
      애플리케이션을 위한 데이터 인프라를 구축가능 
  • 캐싱 & 세션 스토리지 
    • Redis의 속도는 데이터 베이스 쿼리, 복잡한 계산
      API 호출 및 세션 상태를 캐싱할 수 있습니다.
  • 스트리밍 & 메시지 
    • 스트림 데이터 유형을 사용하면 고속 데이터 수집
      메시징, 이벤트 소싱 및 알림을 사용할 수 있습니다.

Redis Stack

Redis Stack은 Redis를 최신 데이터 모델과

프로세싱 엔진으로 확장하여 완벽한 개발자

경험을 제공합니다. 

 

소스를 다운로드하거나, 좋아하는 패키지

관리자를 사용하여 설치하거나 클라우드에서 

무료로 사용할 수 있습니다.

 

  • Redis Stack Server를 사용하면 검색 가능한 JSON,
    시계열 및 그래프 데이터 모델 및 확장된 확률 데이터 
    구조로 응용프로그램을 빌드할 수 있습니다.
  • Redis Stack 개체 매핑 및 클라이언트 라이브러리를 
    사용하여 신속하게 생산성을 높일 수 있습니다.
  • Redislnsight를 통해 Redis 데이터를 시각화하고 
    최적화할 수 있습니다.

참고 문서

 

Redis

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker

redis.io