IT/개발자 면접

Redis 란?

Collin 2023. 12. 15. 08:55
반응형

 

Redis는 오픈 소스인 인메모리 키-값 데이터 구조 저장소로, 다양한 사용 사례에 적합한 빠르고 가벼운 솔루션입니다.

주로 캐싱, 세션 관리, 메시지 브로커, 리더보드 등 다양한 용도로 사용됩니다.

Redis의 특징:

  1. 인메모리 데이터 저장:
    • 데이터를 메모리에 저장하여 빠른 읽기/쓰기 속도를 제공합니다.
  2. 다양한 데이터 구조 지원:
    • 문자열, 해시, 리스트, 셋, 정렬된 셋 등 다양한 데이터 구조를 지원합니다.
  3. 지속성 옵션:
    • 스냅샷 또는 AOF(append-only file) 파일을 사용하여 지속성을 확보할 수 있습니다.
  4. 고성능:
    • 주로 메모리에 데이터를 저장하고 있기 때문에 빠른 응답 속도를 제공합니다.
  5. 분산 확장성:
    • 클러스터링을 통해 데이터를 분산하고 확장할 수 있습니다.

사용 사례:

  1. 캐싱:
    • 데이터베이스나 다른 시스템에서 읽어온 결과를 Redis에 저장하여 반복적인 읽기 요청을 빠르게 처리합니다.
  2. 세션 저장:
    • 사용자의 세션 데이터를 관리하여 웹 애플리케이션의 로그인 상태를 유지합니다.
  3. 리더보드:
    • 순위를 나타내는 데 사용되며, 사용자의 스코어를 기반으로 빠르게 순위를 업데이트할 수 있습니다.
  4. 메시지 브로커:
    • Publish/Subscribe 모델을 통해 메시지를 전달하는데 사용됩니다.
  5. 대기열:
    • 태스크나 이벤트 등을 처리하기 위한 간단한 대기열로 사용될 수 있습니다.

Redis 사용 전략:

  1. 적절한 데이터 구조 선택:
    • Redis는 다양한 데이터 구조를 지원하므로 사용 목적에 맞는 적절한 구조를 선택하는 것이 중요합니다.
  2. 영속성 관리:
    • 지속성이 필요한 경우 적절한 방식(AOF 또는 스냅샷)을 선택하여 관리해야 합니다.
  3. 클러스터링:
    • 대용량 데이터를 다룰 때는 클러스터링을 고려하여 분산 확장성을 활용할 수 있습니다.
  4. 효과적인 키 관리:
    • 키의 명명 규칙을 잘 정의하고 효과적으로 관리하여 유지보수성을 높입니다.
  5. 메모리 사용량 모니터링:
    • Redis는 메모리 기반의 저장소이므로 메모리 사용량을 지속적으로 모니터링하고 관리해야 합니다.
  6. 네트워크 오버헤드 고려:
    • Redis는 네트워크를 통해 데이터를 주고받기 때문에 네트워크 오버헤드를 고려하여 사용해야 합니다.
  7. 보안:
    • Redis에는 인증 기능이 있으므로 보안을 강화하기 위해 적절한 인증을 사용합니다.

 

반응형

'IT > 개발자 면접' 카테고리의 다른 글

Spring MVC Model  (0) 2023.12.17
Spring Security 암호화 방식  (0) 2023.12.16
마이크로서비스(Microservices)  (0) 2023.12.14
Git Flow 와 GitHub Flow , Branch 전략  (0) 2023.12.13
Java Checked Exception과 Unchecked Exception  (0) 2023.12.12