Redis는 메모리 기반의 데이터 저장소로, 데이터베이스, 캐시, 메시지 브로커 등 다양한 용도로 활용되는 오픈 소스 프로젝트였으나, 24년 3/21 부터 일부 고급 기능 모듈(예: RediSearch, RedisGraph 등)에 대해 별도의 라이선스를 적용, 상업적 이용 특히 클라우드 서비스 형태로의 재배포에 제한을 두고 있어 SaaS에서 사용하기에 제한적인 부분이 있어, 고려하며 사용해야 합니다.
Redis는 문자열(String) 뿐만 아니라 해시(Hash), 리스트(List), 셋(Set), 정렬된 셋(Sorted Set), 비트맵, 하이퍼로그로그(HyperLogLog), 지오스페이셜(Geospatial) 인덱스, 스트림(Stream) 등 다양한 데이터 타입을 지원하여 여러 상황에 맞는 데이터 처리 가능
메모리 기반이지만, Redis는 데이터를 디스크에 저장하는 두 가지 방식(스냅샷(RDB)와 Append Only File(AOF))을 제공하여 서버 재시작이나 장애 시에도 데이터 복구 가능
마스터-슬레이브 복제를 통해 데이터를 여러 노드에 분산 가능, Redis Sentinel을 사용하면 자동 장애 조치(failover)와 모니터링을 지원, 클러스터 모드를 활용하여 분산 환경에서의 확장성과 안정성을 높일 수 있음
Redis는 메시지 발행(Publish)과 구독(Subscribe) 기능이 내장되어, 실시간 채팅이나 알림 시스템 등 메시지 브로커로도 활용 가능
여러 명령어를 원자적으로 실행하는 트랜잭션 기능과 Lua 스크립팅을 통해 복잡한 연산을 서버 측에서 처리 가능