Redis란??

2024. 6. 19. 15:51카테고리 없음

728x90
반응형

 

Redis란?

  • Redis : Remote Dictionary Server
  • Key-Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 NoSQL DBMS
  • 사용에 따라 데이터베이스로 사용될 수도 있고, Cache Server로 사용될 수도 있음

 

Redis 사용 이유

  • 데이터베이스는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생하여 다운되더라도 데이터가 손실되지 않음
  • 하지만 매번 디스크에 접근하기 때문에 사용자가 많아질수록 부하 증가
  • 이때 Cache Server를 도입하여 사용하고, Cache Server로 Redis를 이용할 수 있음
  • Cache Server 사용 시 같은 요청에 매번 데이터베이스를 거치는 것이 아닌, Cache Server에서 첫 번째 요청 이후 저장된 결과값을 바로 반환
  • 데이터베이스 부하 감소 가능, 서비스 속도 향상

 

키-값 데이터 구조

데이터베이스로써의 redis를 살펴보겠습니다.

redis의 풀네임을 살펴보면, remote dictionary server 입니다.

dictionary, 즉 사전 같은 구조를 통해 데이터를 저장하고 관리할 수 있도록 한 것입니다. 사전 같다고 한 것은 데이터를 키-값 구조로 저장한다는 것을 의미합니다. 저장할 수 있는 데이터의 형식은 아래와 같습니다.

 

 

 

Redis 

장점

  •    고속 성능 : 데이터가 메모리에 저장되기 때문에 데이터베이스보다 매우 빠른 읽기 및 쓰기 속도를 제공합니다.
  •    다양한 type의 아키텍처 지원 : 문자열, 해시, 리스트, 집합, 집합 등의 데이터 구조를 활용할수있다.
  •   개발 용이성: redis는 쿼리문을 사용하지않고 단순 명령을 사용하여 저장, 조회, 삭제 등이 가능하다.

단점

  • 휘발성: redis는 메모리 기반의 저장소로 서버가 종료되거나 재시작이되면 데이터가 모두 손실된다.
  • single-thread: 단일 스레드 환경에서 동작하기 때문에 다중 처리나 동시성이 요구되는 작업에는 적합하지 않는다.
  • memory fragmentation : 데이터를 메모리에 저장하기에 데이터의 크기가 자주변하는 경우에는 비효율적이다.

 

 

728x90
반응형