카테고리 없음

Redis 단일 인스턴스, 클러스터

OJR 2023. 3. 11. 23:25

Redis의 단일 인스턴스는 독립 실행형 프로세스로 실행되며 모든 데이터는 메모리에 저장됩니다. 이 구성에서 Redis는 단일 CPU 코어만 사용할 수 있으며 최대 메모리 용량은 서버에서 사용 가능한 물리적 리소스로 제한됩니다. 단일 인스턴스 Redis는 단일 서버가 데이터 로드를 처리할 수 있는 낮은 데이터 액세스 및 낮은 쓰기 속도를 가진 애플리케이션에 적합합니다.


반면에 Redis 클러스터는 고가용성과 확장성을 제공하도록 설계된 Redis의 분산 구현입니다. Redis 클러스터는 함께 작동하여 데이터를 저장하고 검색하는 여러 Redis 노드로 구성됩니다. Redis 클러스터는 샤딩을 지원합니다. 즉, 데이터가 여러 노드에 분할되어 더 높은 쓰기 및 읽기 처리량을 허용합니다. Redis 클러스터는 또한 자동 장애 조치 및 재조정을 제공하므로 한 노드에 장애가 발생하면 클러스터의 다른 노드가 책임을 대신할 수 있습니다.

 

 

Redis 클러스터는 Redis의 분산 구현을 제공하지만 사용할 수 있는 명령 측면에서 몇 가지 제한 사항이 있습니다. 다음 명령은 Redis 클러스터에서 사용할 수 없습니다.


KEYS - 이 명령은 서버가 데이터베이스의 모든 키를 스캔해야 하므로 Redis 클러스터에서 허용되지 않습니다. 이는 분산 시스템에서 효율적이지 않습니다.
MIGRATE - 이 명령은 Redis 클러스터의 노드 간에 키를 마이그레이션하는 데 사용할 수 없습니다. 각 노드는 데이터베이스의 키 하위 집합만 처리하기 때문입니다.
MOVE - 이 명령은 MIGRATE와 같은 이유로 Redis 클러스터의 노드 간에 키를 이동하는 데 사용할 수 없습니다.
RANDOMKEY - 이 명령은 데이터베이스의 모든 키를 스캔해야 하므로 Redis 클러스터에서 지원되지 않습니다.
SELECT - 이 명령은 각 노드가 데이터베이스의 키 하위 집합만 처리하므로 Redis 클러스터에서 허용되지 않습니다.
WATCH 및 UNWATCH - 이러한 명령은 분산 시스템에서 지원되지 않는 트랜잭션 의미 체계에 의존하므로 Redis 클러스터에서 허용되지 않습니다.
FLUSHDB 및 FLUSHALL - 이 명령은 데이터베이스의 모든 키를 플러시하므로 Redis 클러스터에서 허용되지 않습니다. 이는 분산 시스템에서 효율적이지 않습니다.
SORT - 이 명령은 클러스터의 모든 노드에서 키를 정렬해야 하므로 Redis 클러스터에서 지원되지 않습니다. 이는 분산 시스템에서 효율적이지 않습니다.