Redis 기본 개념

안연정·2024년 10월 5일
0

Redis

목록 보기
1/3
post-thumbnail

썸네일 출처

해당 내용은 인프런 JSCODE 박재성비전공자도 이해할 수 있는 Redis 입문/실전(조회 성능 최적화편)의 강의를 기반으로 작성했습니다.

강사님의 공부법에 따라 제 해석대로 작성해봅니다.

📢 Redis란?


Redis란?

  • Remote Dictionary Server의 약자
  • "Key-Value" 구조의 비정형 데이터를 저장하고 관리
  • 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)

First Word

Redis
데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스
"Key-Value" 형태로 저장 (Map같이. 하지만 다른 경우도 존재...)
NoSQL
SQL을 사용하지 않는 비관계형 데이터베이스(Not only SQL)
대량의 데이터를 빠르게 처리하는 데 적합
비관계형 데이터베이스
관계형 데이터베이스는 데이터를 행과 열이 있는 테이블 형식으로 저장하는 반면에,
비관계형 데이터베이스는 다양한 모델(Key-Value(Redis), 문서(MongoDB), 열 지향(Cassandra), 그래프(Neo4j))을 사용하여 데이터에 엑세스하고 데이터를 관리
즉, 일반적으로 NoSQL 자체를 의미하기도 한다.
비정형 데이터
정의된 구조가 없는 정형화되지 않은 데이터
ex) 동영상 파일, 오디오 파일, 사진, 텍스트, 포스트 등

즉, Redis는 데이터 처리 속도가 엄청 빠른, Key-Value형태로 저장하는 데이터베이스

Redis의 장점

Redis인메모리(in-memory)에 모든 데이터를 저장
그래서 데이터의 처리 성능이 빠름

RDBMS(Relational Database Management System)는 대부분 디스크(Disk)에 데이터를 저장하지만, Redis는 메모리(RAM)에 데이터를 저장
디스크(Disk)보다 메모리(RAM)에서의 데이터 처리 속도가 월등하게 빠름
즉, 저장 방식의 차이로 인하여 Redis의 데이터 처리 속도가 RDBMS에 비해 훨씬 빠름

📢 Redis 주요 사용 사례


  • 캐싱 (Caching)
  • 세션 관리 (Session Management)
  • 실시간 분석 및 통계 (Real-time Analystics)
  • 메시지 큐 (Message Queue)
  • 지리공간 인덱싱 (Geospatial Indexing)
  • 속도 제한 (Rate Limiting)
  • 실시간 채팅 및 메시징 (Real-time Chat And Messaging)

일단, 캐싱(데이터 조회 성능 향상)만 집중적으로 공부!

왜 캐싱인가?🤔

최근 채용 트렌드도 그렇고, 서비스를 제공하는 회사 입장에서 서비스를 고도화할수록
'대용량 트래픽 관리''NoSQL'이 필수이기 때문
→ 이 역량을 기르기 위한 방법 중 하나가 Redis

또한, 대용량 트래픽을 처리하기 위해 필수적으로 사용되는 기능이 Redis의 캐싱(Caching)

즉, '대용량 트래픽 관리', 'NoSQL', 'Redis의 캐싱(Caching)' 은 필수이면서도 전부 연관되어 있으므로 집중 학습 필요

0개의 댓글