Redis(이하 '레디스')는 Remote Dictionary Server의 약자로 직독직해 하면 원격 사전 서버이다.
레디스는 현대 소프트웨어 개발에서 널리 사용되는 고성능 오픈소스 인메모리 데이터 구조 스토어이다.
전통적인 디스크에 저장하는 데이터베이스와 달리, 레디스는 시스템의 주 메모리에 데이터를 저장하여 데이터 액세스와 조작속도를 극적으로 빠르게 만들어 준다.
레디스의 주요 특징은 아래와 같다.
위에서 언급한 바와 같이, 레디스는 데이터를 메모리에 직접 저장한다. 이러한 특징은 실시간 데이터 응답성과 빠른 데이터 transaction이 요구되는 어플리케이션에서 매우 큰 장점으로 작용한다.
레디스는 단순한 문자열 뿐만 아니라 list, set, hash, bitmap 등과 같이 다양한 데이터 구조를 지원하여 개발자들로 하여금 개발의 유연성을 가져갈 수 있도록 도와준다.
레디스는 기본적으로 인메모리 스토어지만, 메모리에 저장된 데이터를 사전 설정한 시간 간격으로 저장할 수 있도록 지속성 기능을 지원한다.
레디스는 내장된 master-slave 복제를 지원한다. 어떤 레디스 서버(master)에서든지 데이터를 복제(slave)할 수 있게 해준다. 이러한 기능은 데이터 중복성과 성능 향상에 중요한 영향을 끼친다.
레디스는 Pub/Sub 모델을 지원하여 실시간 분석 및 스트리밍에 효과적으로 사용할 수 있다.
이처럼 레디스의 강력하지만 유연한 특징들이 어플리케이션들이 복잡한 작업을 빠른 속도로 수행할 수 있도록 도와준다.