영상 링크 : https://www.youtube.com/watch?v=mPB2CZiAkKM
Remote Dictionary Server
모든 Redis 데이터는 메모리에 상주하므로 데이터 액세스의 대기 시간을 낮추고 처리량을 높인다.
Strings, Lists, Sets, Sorted Sets, Hashes, Bitmaps, HyperLogLogs, Streams, Geospatial, JSON
Redis를 사용하면 더 짧고 단순한 코드로 기존의 복잡한 코드를 작성 가능. 예를 들어 Redis 해시 데이터 구조를 사용하여 단 한 줄의 코드로 데이터를 데이터 스토어로 이동할 수 있다.
Redis는 기본-복제 아키텍처를 사용하며 비동기식 복제를 지원하므로 데이터가 여러 복제 서버에 복제 가능. 따라서 주 서버에 장애가 발생하는 경우 요청이 여러 서버로 분산될 수 있으므로 향상된 읽기 성능과 더 빠른 복구 기능을 제공.
Redis는 단일 노드 기본 또는 클러스터링된 토폴로지에서 기본-복제 아키텍처를 제공. 따라서 가용성이 뛰어난 솔루션을 구축하여 일관된 성능과 안정성을 제공.
Redis는 AWS를 포함한 역동적인 커뮤니티를 통해 지원되는 오픈 소스이다.
웹 서버는 데이터가 존재하는지 Cache 먼저 확인
Cache에 데이터가 있으면 Cache에서 가져옴
Cache에 없으면 DB에서 읽어옴
DB에서 읽은 데이터를 Cache에 저장
웹 서버는 모든 데이터를 Cache에 저장
Cache에 특정 시간 동안의 데이터가 저장됨
Cache있는 데이터를 DB에 저장
DB에 저장이 완료된 Cache의 데이터를 삭제
Redis는 데이터 액세스 지연 시간을 줄이고, 처리량을 늘리며, 관계형 또는 NoSQL 데이터베이스와 애플리케이션의 로드를 줄일 수 있는 가용성이 뛰어난 인 메모리 캐시 구현에 적합. Redis를 사용하면 빈번하게 요청되는 항목을 1밀리초 미만의 응답 시간으로 지원할 수 있고, 고가의 백엔드를 추가하지 않고도 손쉽게 확장하여 더 많은 로드를 처리할 수 있다.
Redis는 패턴 매칭과 다양한 데이터 구조(목록, 정렬된 세트, 해시 등) 옵션으로 게시/구독을 지원. 따라서 Redis에서는 고성능 채팅방, 실시간 코멘트 스트림, 소셜 미디어 피드 및 서버 상호 통신을 지원. Redis 목록 데이터 구조를 사용하면 간단한 대기열을 손쉽게 구현할 수 있습니다. 목록은 자동 작업 및 차단 기능을 제공하므로 신뢰할 수 있는 메시지 브로커 또는 순환 목록이 필요한 다양한 애플리케이션에 적합.
요소의 고유성을 제공하면서 점수로 정렬된 목록을 유지하는 Redis Sorted Set 데이터 구조를 사용하면 쉽게 실시간 순위 목록 생성 가능. 타임스탬프를 점수로 사용함으로써 Sorted Set를 통해 시계열 데이터를 처리할 수도 있다.
Redis는 사용자 프로필, 자격 증명, 세션 상태, 사용자별 개인화 등과 같은 세션 데이터를 관리하는 데 필요한 1밀리초 미만의 지연 시간, 규모 및 복원력을 제공.
Redis는 라이브 스트리밍 사용 사례를 지원할 수 있는 빠른 인 메모리 데이터 스토어를 제공. Redis는 CDN이 동시에 수백만 명의 모바일 및 데스크톱 사용자에게 비디오를 스트리밍할 수 있도록 사용자 프로필 및 열람 기록에 대한 메타데이터, 수백만 사용자의 인증 정보/토큰, 매니페스트 파일을 저장하는 데 사용할 수 있다.
Redis는 대규모의 실시간 지리 공간 데이터를 빠르게 관리할 수 있도록 특별히 구축된 인 메모리 데이터 구조 및 연산자를 제공. Redis를 사용하여 주행 시간, 주행 거리, 안내 표시와 같은 위치 기반 기능을 애플리케이션에 추가할 수 있다.
Redis는 기계 학습 모델을 신속하게 구축, 교육 및 배포할 수 있는 빠른 인 메모리 데이터 스토어를 제공.
Redis는 Apache Kafka, Amazon Kinesis 등과 같은 스트리밍 솔루션에 인 메모리 데이터 스토어로 사용하여 1밀리초 미만의 지연 시간으로 실시간 데이터를 수집, 처리 및 분석할 수 있다. Redis는 소셜 미디어 분석, 광고 타게팅, 개인화 및 IoT와 같은 실시간 분석 사용 사례에 적합.