728x90
반응형
SMALL
Redis (Remote Dicionary System)
Key - Value 형태의 값을 저장할 수 있는 하나의 In-Memory 저장소이다.
- 주로 메모리에 상주하면서 RDBMS의 Cache 솔루션으로 사용된다.
- 빠른 처리 속도와 검증된 소프트웨어 안정성을 제공한다.
- 고성능 In-Memory Key-Value Document Storage이다.
- 서비스 요청이 증가하여 DB 요청이 많아지면 DB 부하가 증가한다.
- 이때 메모리 캐시가 적용되면 성능 및 처리 속도가 향상되고 DB 부하도 줄어든다.
특징
- 데이터 가용성과 영속성을 지원
- NoSQL인데, 메모리에 상주하며 빠른 읽기/쓰기를 지원
- 수평적 확장을 위한 Scale-Out 지원
- Read 성능을 위한 Master-Slave 지원
- Write 성능을 위한 Master Sharding 지원
- Key Expiration, Transaction, Pub/Sub 지원
- 모든 커맨드에 비동기-콜백 옵션 지원
장점
- Key-Value 쌍을 512MB까지 저장 가능하다. 단일 항목에 대해 최대 1GB의 데이터를 지원한다.
- Redis Hashing 자체 메커니즘을 사용하여 데이터를 키와 맵, 즉 문자열 필드 및 문자열 값 형태로 저장한다.
- 무중단 서비스를 제공한다.
- 메모리를 활용하면서 영속적인 데이터 보존이 가능하다.
- 명령어를 이용하여 명시적 삭제를 설정하지 않으면 데이터가 삭제되지 않는다.
- 디스크에 데이터를 기록하기에 Redis 메모리가 날아가도 복구가 가능하다.
- 스냅샷 기능을 이용하여 특정 시점으로 복구할 수 있다.
- 다양한 API를 제공한다.
단점
- Key-Value 형태로 저장된 데이터를 Redis 내에서 자체 처리하는 것이 어렵다.
- 메모리 파편화가 발생하기 쉽다.
- 대규모 데이터에 대한 응답 속도가 불안정하다.
Redis Architecture
Redis Topology
Redis는 Master-Slave 형태로 데이터를 복제해서 운영할 수 있다. Master-Slave 간 복제는 Non-Blocking 상태로 이루어진다.
Redis Sharding
Redis에서 데이터를 샤딩하여 Read 성능을 높일 수 있다.
Redis Cluster
Redis는 클러스터링을 지원하기에 실무에서는 주로 클로스터로 묶어서 가용성 및 안정성 있는 캐시 매니저로 사용하고 있다.
728x90
반응형
LIST
'Develope > Cache' 카테고리의 다른 글
[Redis] Redis Monitoring - 모니터링 툴 소개 (0) | 2021.01.17 |
---|---|
[Redis] Cluster 구축 튜토리얼 - Step By Step Run Book (0) | 2021.01.17 |
[Redis] redis-cli 명령어 모음 (0) | 2021.01.17 |
[Redis] AOF vs RDB - Redis 메모리 관리 방식 비교 (0) | 2021.01.17 |
[Redis] Redis의 다양한 모드 : Cluster, Sentinel, Single (0) | 2021.01.17 |