레디스(Redis)

Lys·2023년 12월 1일
0

데이터베이스

목록 보기
14/18

레디스(Redis)

  • Remote Dictionary Storage의 약어이다.
  • 싱글 스레드 방식으로 인해 원자적이고 독립적인 연산 수행이 가능하다.
  • Key-Value 데이터 구조에 기반한 다양한 형태의 자료 구조를 제공하며 저장할 수 있는 메모리 기반의 데이터 저장소이다.
  • PUB/SUB 형태의 기능을 제공하며 메세지를 전달할 수 있다.
    • PUB/SUB
      : pub(publisher)가 topic에 메세지를 보내면 topic를 구독해 놓은 모든 sub(subscriber)에게 메세지가 전송되면서 데이터 교환이 이루어지는 방법이다.
  • 모든 데이터를 저장하고 조회하기 떄문에 빠른 Read,Write 속도를 보장한다.
  • 영속성을 지원하는 인메모리 데이터 저장소이다.
    • 인메모리 데이터 저장소
      : 컴퓨터의 주 메모리에 모든 조직 또는 개인의 데이터를 저장하는 것
  • 좋아요 처리,사용자 세션관리,우저 인증 토큰 저장,메세지 큐잉,최근 검색 목록 등에 사용할 수 있다.

레디스(Redis) 영속성

레디스는 영속성을 보장하기 위해 디스크에 데이터를 저장할 수 있으며 서버가 내려가도 디스크에 저장된 데이터를 읽어서 메모리에 로딩한다.
디스크에 저장하는 방식은 두 가지로 나눈다.

  • PDB 방식
    : 메모리에 있는 내용 전체를 순간적으로 디스크에 옮겨 담는 방식이다.
  • AOF방식
    : 레디스의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 방식이다.

레디스(Redis) 싱글 스레드

: 싱글 스레드를 사용하여 연산을 원자적/독립적으로 처리하여 Race Conditiondl 발생하지 않는다.
동시에 여러 작업의 요청이 들어와도 각 작업을 하나씩 처리하고 완료 된 뒤 다음 작업을 처리하므로 안전하게 해결 할 수 있다.

레디스(Redis)가 지원하는 데이터 형식

  • String
    : 일반적인 문자열을 지원하며, Text뿐만 아니라정수형이나 JPG 같은 바이너리 데이터도 저장할 수 있으며 Key에 넣을 수 있는 최대 크기는 512MB이다.
  • List
    : 하나의 key가 N개의 데이터를 가지며 중복하여 저장이 가능하다.
    Key에 속한 데이터들은 정렬되지 않은 그룹이다. Linked List 형태로 연결 되어 있다.
  • Sorted Set
    : 문자열의 정렬 된 집합으로 Set의 자료구조 형태에 Score라는 필드가 추가 된 데이터 타입이다. Sorted Set내에서는 Score의 기준으로 정렬된다. Score값이 중복되는 경우 사전 순으로 정렬한다.
  • Hashes
    : 해시 자료 구조로 Key와 Value로 구성된다. 해시 데이터는 레디스 key와 맵핑 되어 있으므로 해시 Value를 생성 및 조회 하려면, 레디시 키와 필드를 동시에 사용해야 된다.

🙇‍ 참고 사이트 🙇‍

https://velog.io/@banggeunho/%EB%A0%88%EB%94%94%EC%8A%A4Redis-%EC%95%8C%EA%B3%A0-%EC%93%B0%EC%9E%90.-%EC%A0%95%EC%9D%98-%EC%A0%80%EC%9E%A5%EB%B0%A9%EC%8B%9D-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%9C%A0%ED%9A%A8-%EA%B8%B0%EA%B0%84
https://sudo-minz.tistory.com/101
https://blog.naver.com/seek316/222512563443

0개의 댓글

관련 채용 정보