Redis

2024. 11. 15. 18:37·Computer Science/Database

특징

  1. 인메모리 기반의 키-값 구조 데이터 관리 시스템
    • 모든 데이터를 메모리에 저장하여 빠른 읽기/쓰기 속도 제공
  2. 싱글 스레드 기반
    • 한 번의 하나의 명령만 실행
    • Redis 6.0부터는 멀티스레딩 I/O를 지원하기 시작했지만 코어 로직은 여전히 싱글 스레드 https://charsyam.wordpress.com/2020/05/05/%EC%9E%85-%EA%B0%9C%EB%B0%9C-redis-6-0-threadedio%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90/
  3. 데이터 구조
    • Strings
      • Redis의 가장 기본적인 데이터 타입
      • 최대 512MB의 길이를 가질 수 있음
      • binary safe하며 JPEG image 같은 데이터도 포함할 수 있음
    • Lists
      • 삽입 순서로 정렬된 String List
      • String 형이 배열 구조가 된 것
    • Sets
      • 정렬되지 않은 String Collection
      • List 형으로부터 인덱스가 없어진 형태
      • value의 중복이 허용되지 않음


    • Sorted Sets
      • Set 자료형에 스코어라는 개념이 추가
      • 스코어를 기준으로 정렬


    • Hashes
      • key 하나에 여러개의 filed와 value쌍으로 구성
      • Set 자료형에 문자열로 지정할 수 있는 filed라는 개념 추가 (Set + Filed)
      • 최대 2^32 -1 개의 filed-value 쌍을 저장할 수 있음 (약 40억 개 이상)


  4. 영속성 제공
    • 인메모리 기반의 데이터베이스로 서버가 내려갔을 때 데이터가 유실되지만
      다음의 기술들을 통해 영속성을 제공한다
    • RDB(Redis Database, snapshotting)
      • 기본적으로 설정되어있는 백업 방식
      • 메모리에 있는 내용을 저장공간에 바이너리 파일로 저장하는 방식
      • 서버를 재시작할 때 데이터를 그대로 읽어 빠른 복구 가능
    • AOF(Append Only File)
      • 조회 명령을 제외 연산을 log 파일에 기록
      • 서버를 재시작할 때 마다 기록된 연산을 순서대로 재실행
  5. 복제 및 클러스터 지원
    • 고가용성과 확장성 제공

 

장점

  • 성능
    • 초당 5만~25만의 요청을 처리 가능한 빠른 속도
  • 확장성
    • 클러스터 구성을 통한 수평적 확장 가능

단점

  • 메모리 제한
    • 사용 가능한 메모리 용량에 제한이 있음
  • 데이터 휘발성
    • 인메모리 기반의 저장소로 서버 장애 발생 시 데이터 유실 가능성이 존재

 

 

출처

https://cabi.oopy.io/15321a93-7217-48f4-8c2f-36e8c6550548

https://www.devkuma.com/docs/redis/data-structure/

 

'Computer Science > Database' 카테고리의 다른 글

데이터베이스 인덱스  (0) 2024.12.17
저장 프로시저 (Stored PROCEDURE)  (1) 2024.11.13
SQL과 NoSQL  (0) 2024.11.11
'Computer Science/Database' 카테고리의 다른 글
  • 데이터베이스 인덱스
  • 저장 프로시저 (Stored PROCEDURE)
  • SQL과 NoSQL
mint723dev
mint723dev
mint723dev 님의 블로그 입니다.
  • mint723dev
    mint723dev 님의 블로그
    mint723dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (88)
      • Computer Science (16)
        • Computer Architecture (0)
        • Data Structure (2)
        • Database (4)
        • Network (4)
        • Operating System (6)
        • Software Engineering (0)
      • Java (6)
      • 자료 구조 (0)
      • 코딩테스트 (62)
        • LeetCode (1)
        • 프로그래머스 (29)
        • 백준 (32)
      • Spring (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    탐욕법
    오블완
    DFS
    BFS
    deque
    DP
    티스토리챌린지
    JVM
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
mint723dev
Redis
상단으로

티스토리툴바