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
반응형