Redis
- Redis는 인메모리 데이터베이스이자 데이터 구조 서버로, 주로 캐시 시스템이나 메시지 브로커로 사용
- 기본적으로 데이터를 메모리에 저장하여 매우 빠른 읽기/쓰기를 지원하며, 다양한 데이터 구조를 제공하여 다양한 사용 사례에 적합하다.
- Redis를 Spring Boot 프로젝트에 통합하려면 몇 가지 설정을 application.yml 파일에 추가해야함
주요 특징
1. 인메모리 저장소
Redis는 모든 데이터를 메모리에 저장. 디스크에 비해 훨씬 빠른 속도를 제공한다.
2. 데이터 구조 지원
문자열(String), 리스트(List), 셋(Set), 정렬된 셋(Sorted Set), 해시(Hash), 비트맵(Bitmap), 하이퍼로그로그(HyperLogLog) 등 다양한 데이터 구조를 지원
3. 영속성 옵션
기본적으로 메모리에서만 데이터를 관리하지만, RDB(Snapshotting) 또는 AOF(Append-Only File) 방식으로 데이터를 디스크에 영구 저장할 수 있고, 이를 통해 시스템 재시작 후에도 데이터를 복구할 수 있다.
4. 고성능
Redis는 초고속 읽기/쓰기 성능을 자랑하며, 수백만의 요청을 초당 처리할 수 있다. 이는 Redis가 대부분의 연산을 메모리 내에서 처리하기 때문!
5. 복제 및 분산
6. Pub/Sub
Redis는 발행/구독(Pub/Sub) 메시징 패턴을 지원하여 실시간 통신 시스템에 유용하게 사용
7. TTL(Time-to-Live)
데이터에 생명주기(TTL)를 설정할 수 있어, 일정 시간이 지난 데이터는 자동으로 삭제됩니다. 캐시 시스템에서 유용하게 사용됨
8. 간단한 설치 및 설정
Redis는 설치와 설정이 간단하고, 다양한 언어에서 클라이언트 라이브러리를 제공하여 사용이 용이
Redis의 주요 사용 사례
Redis는 빠른 속도와 다양한 데이터 구조를 제공하기 때문에, 성능이 중요한 시스템에서 널리 사용된다.