Spring Boot Redis

soosoorim·2025년 1월 8일
0

SpringBoot

목록 보기
1/1

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. 복제 및 분산

  • 마스터-슬레이브 복제: Redis는 데이터 복제를 지원하여 읽기 성능을 향상시키고, 장애 대비를 할 수 있음
  • 분산 환경: Redis Cluster를 이용하면 여러 Redis 인스턴스를 클러스터로 묶어 대규모 분산 환경에서 사용할 수 있음

6. Pub/Sub

Redis는 발행/구독(Pub/Sub) 메시징 패턴을 지원하여 실시간 통신 시스템에 유용하게 사용

7. TTL(Time-to-Live)

데이터에 생명주기(TTL)를 설정할 수 있어, 일정 시간이 지난 데이터는 자동으로 삭제됩니다. 캐시 시스템에서 유용하게 사용됨

8. 간단한 설치 및 설정

Redis는 설치와 설정이 간단하고, 다양한 언어에서 클라이언트 라이브러리를 제공하여 사용이 용이

Redis의 주요 사용 사례

  • 캐시 시스템: 자주 조회되는 데이터를 Redis에 저장하여 성능을 최적화
  • 세션 저장소: 사용자 세션 정보를 Redis에 저장하여 빠르게 접근할 수 있음
  • 메시지 큐: Redis의 리스트, 셋, Pub/Sub 등을 활용하여 실시간 메시징 시스템이나 작업 큐를 구성할 수 있음
  • 실시간 데이터 처리: 소셜 미디어나 게임과 같은 실시간 서비스를 지원

Redis는 빠른 속도와 다양한 데이터 구조를 제공하기 때문에, 성능이 중요한 시스템에서 널리 사용된다.

0개의 댓글

관련 채용 정보