대용량 처리 이해/Redis

Redis (Remote Dictionary Server)

훈지런 2023. 2. 13. 18:30

Redis 사용하는 이유

  • 손쉽게 사용할수있는 In-memory 저장소
  • 높은 성능
  • 다양한 활용성
  • 세션 관리나 캐시

정의

  • Storage: 데이터 저장소 (데이터 관점)
  • DataBase: 전통적인 DBMS의 역할을 수행한다. NoSQL
  • Middleware: 어플리케이션이 이용할 수 있는 유용한 기능을 제공하는 소프트웨어

장점

  • 아주 빠른 저장소로 활용
  • 분산된 서버들간의 커뮤니케이션
  • 내장된 자료구조를 활용한 기능 구현

In-Memory DB 란 ?

일반적으로 DB는 디스크에 저장하는데
레디스는 메모리(RAM)에 저장한다.
따라서 아주 빠르다. 대신 비싸다.

메모리는 휘발성인데?
지워져서 안되는 중요데이터가 아닌 지워져도 큰 문제가 없는 로그인 세션데이터나 캐시같은 용도로 사용된다.

데이터 저장 구조

  • DB관점에서의 데이터 모델 구조
    • 네트워크 모델, 계층형 모델(Tree), 관계형 모델 등등..

Ksy-Value Store

  • 자바의 Map과 같음
  • 장점
    • 단순해서 사용하기 쉬움
    • Hash값을 이용해서 속도가 빠름
    • 분산 환경에서 수평적 확장성
  • 단점
    • 키값만을 통해서 값을 읽을 수 있음
    • 범위 검색 등의 복잡한 질의가 불가능

Redis 활용

  • Session Store
  • Cache
  • Linit Rater
  • Job Queue

특성

  • Key-Value Store
  • 다양한 자료구조를 지원(String, Hash, Set, List등)
  • 원하는 수준의 영속성을 수정할수있음
  • In-Memory라서 매우 빠름

'대용량 처리 이해 > Redis' 카테고리의 다른 글

Pub, Sub 패턴  (0) 2023.02.20
Redis Cache Layer  (0) 2023.02.19
Redis Session Clustering  (0) 2023.02.18
Redis Data Type  (0) 2023.02.14