어 나 갱수.

[DateBase] Redis란? 🙏🏾 본문

DB

[DateBase] Redis란? 🙏🏾

김경수 2023. 9. 28. 10:59
728x90

Redis란?

Redis는 오픈 소스로서 NoSQL로 분류되기도 하고, Memcached와 같이 인 메모리 설루션으로 분류되기도 한다.

성능은 Memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 다양한 용도로 사용된다.

 

Redis는 Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 볼 수 있다.

그래서 값을 불러올때 쿼리 값 없이 Key를 통해 빠르게 값을 불러올 수 있다.

또한 디스크에서 데이터를 관리하는 구조가 아니라 메모리에서 데이터를 관리하기 때문에 성능상으로도 작업속도가 매우 빠릅니다.

특징

  • 영속성을 지원하는 인 메모리 데이터 저장소
  • 다양한 자료 구조를 지원함
  • 읽기 성능 증대를 위한 서버 측 리플리케이션을 지원
  • 다양한 서비스에서 사용되며 검증된 기술

Redis의 영속성

Redis는 영속성을 보장하기 위해 데이터를 디스크에 저장할 수 있다. 서버가 내려가도 디스크에 저장된 데이터를 읽어서 메모리에

저장한다. 데이터를 디스크에 저장하는 방법은 크게 두 가지가 있다.

  • RDB(Snapshotting) 방식
    • 순간적으로 메모리에 있는 내용 전체를 디스크에 옮겨 담는 방식
  • AOF(Append On File) 방식
    • Redis의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 형태

Redis Collections

1. String

  • 가장 일반적인 형태로 Key-Value로 저장하는 형태이다.

2. Set

  • 중복된 데이터를 담지 않기 위해 사용하는 자료구조이다. 고유한 데이터를 저장할 때 많이 사용된다.

3. List

  • Array 형식의 데이터 구조이다. 

4. Sorted Set

  • 유저 랭킹 보드로 사용할 수 있다.

5. Hash

  • Key 밑에 sub key가 존재하는 자료구조이다.

 

 

728x90

'DB' 카테고리의 다른 글

[DB] 정규화란 ? 🐼  (1) 2024.02.04
[DB] 인덱스(Index)란? 😛  (1) 2024.01.31
[DB] DBCP 이란? 🫶  (0) 2024.01.28
[DB] 이상 현상이란 ??👍🏿  (0) 2024.01.25
[DB] Redis를 왜 사용할까 ?? 🥱  (0) 2023.11.29