redis

SSamYang·2024년 10월 10일

참고 영상:
https://www.youtube.com/watch?v=Gimv7hroM8A&t=36s

  1. Redis 개요:
    • Redis는 원격 서버에서 데이터를 저장하고 관리하는 인메모리 데이터 구조 서버로, 다양한 자료구조를 지원하며, 매우 빠른 성능을 자랑합니다.
    • Redis는 인메모리 데이터 저장소로 데이터를 RAM에 저장하여 빠른 응답 속도를 제공합니다.
  2. Cache 개념:
    • Cache는 자주 사용되거나 최근에 사용된 데이터를 미리 저장하여, 필요할 때 더 빠르게 불러오는 방식입니다.
    • Cache는 메모리에 저장되며, 휘발성이라는 특징 때문에 전원이 꺼지면 데이터가 사라집니다.
  3. 자료구조:
    • Redis는 다양한 자료구조를 지원합니다. 대표적으로 String, List, Set, Sorted Set, Hash 등이 있습니다. 이 자료구조는 자바의 컬렉션 프레임워크와 유사한 기능을 제공합니다.
  4. Redis에서 발생했던 문제 사례:
    • 키의 범위가 커짐에 따라 발생한 성능 문제 및 패치 내용.
    • Redis는 키 밸류 구조에서 키값이 많아졌을 때 성능 저하 문제가 발생할 수 있으며, 패치로 해결된 사례가 있음.
  5. 싱글 스레드 특성:
    • Redis는 싱글 스레드로 동작하기 때문에, 명령어의 시간 복잡도를 고려해야 합니다. 시간 소요가 큰 명령어는 성능 저하를 초래할 수 있습니다.
  6. 메모리 관리:
    • 메모리 파편화, 가상 메모리, Fork 과정에서의 메모리 사용량 증가와 같은 이슈를 관리해야 합니다.
    • Redis는 데이터를 RAM에 저장하기 때문에 메모리 관리가 중요합니다.
  7. Replication과 백업:
    • Redis는 데이터 유실을 방지하기 위해 복제(replication) 기능을 제공하며, 주기적으로 백업이 필요합니다.
  8. 클러스터링:
    • Redis는 클러스터링을 통해 확장성을 제공하며, 데이터 분산 알고리즘을 사용하여 데이터를 고르게 나눕니다.

마지막으로 Redis를 효율적으로 사용하는 방법으로는 스케일 아웃, 클러스터링, 데이터 그리드 등이 있으며, 이를 통해 Redis의 성능을 최적화할 수 있습니다.

profile
공부 기록장📕

0개의 댓글