2024.10.08.화.TIL Redis

김기남·2024년 10월 8일
post-thumbnail

안녕하세요, 오늘은 Redis 에 대해 정리해 보았습니다.

Redis란 무엇인가?

Redis는 "REmote DIctionary Server"의 약자로, 오픈 소스 인메모리 데이터 구조 저장소입니다. 주로 키-값 저장소로 사용되며, 다양한 데이터 구조를 지원합니다. Redis는 메모리 내에서 데이터를 저장하고 처리하기 때문에 매우 빠른 속도를 자랑합니다. 이러한 특성 덕분에 웹 애플리케이션에서 캐시 시스템으로 많이 사용됩니다.

Redis의 주요 특징

Redis는 다음과 같은 주요 특징을 가지고 있습니다:

  • 인메모리 데이터 저장 : 데이터를 메모리에 저장하여 빠른 읽기 및 쓰기 속도를 제공합니다.
  • 다양한 데이터 구조 지원 : 문자열, 해시, 리스트, 셋, 정렬된 셋 등 다양한 데이터 구조를 지원합니다.
  • 영속성 : 데이터를 메모리에 저장하면서도 디스크에 백업할 수 있는 기능을 제공합니다.
  • 고가용성 : Redis Sentinel을 통해 고가용성을 지원하며, 클러스터링 기능을 통해 수평 확장이 가능합니다.

Redis의 데이터 구조

Redis는 여러 가지 데이터 구조를 지원합니다. 각 데이터 구조는 특정한 용도에 맞게 설계되어 있습니다. 아래는 Redis에서 지원하는 주요 데이터 구조입니다.

  1. 문자열(String): 가장 기본적인 데이터 타입으로, 단일 값을 저장합니다.
  2. 해시(Hash): 필드와 값의 쌍으로 구성된 데이터 구조로, 객체를 표현하는 데 유용합니다.
  3. 리스트(List): 순서가 있는 값의 집합으로, FIFO(First In First Out) 방식으로 데이터를 처리합니다.
  4. 셋(Set): 중복되지 않는 값의 집합으로, 집합 연산을 지원합니다.
  5. 정렬된 셋(Sorted Set): 점수에 따라 정렬된 값의 집합으로, 순위 기반의 데이터 처리에 유용합니다.


이미지출처

Redis의 장점과 단점

Redis의 장점은 다음과 같습니다:

  • 빠른 성능 : 메모리 기반의 데이터 저장으로 인해 매우 빠른 속도를 자랑합니다.
  • 다양한 데이터 구조 : 다양한 데이터 구조를 지원하여 유연한 데이터 처리가 가능합니다.
  • 간편한 설치 및 사용 : 설치가 간단하고, 다양한 클라이언트 라이브러리를 통해 쉽게 사용할 수 있습니다.

하지만 단점도 존재합니다:

  • 메모리 사용량 : 모든 데이터를 메모리에 저장하기 때문에 메모리 용량이 제한적입니다.
  • 복잡한 데이터 처리 : 복잡한 쿼리나 조인 연산이 필요한 경우, 다른 데이터베이스에 비해 불편할 수 있습니다.

Redis 활용 사례

Redis는 다양한 분야에서 활용되고 있습니다. 예를 들어, 웹 애플리케이션의 세션 관리, 실시간 데이터 분석, 캐시 시스템 등에서 많이 사용됩니다. 특히, 대규모 트래픽을 처리해야 하는 서비스에서 Redis의 빠른 성능은 큰 장점으로 작용합니다.

오늘의 코드카타

class Solution {

    public String[] solution(String my_string) {
        return my_string.split(" ");
    }
}
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {

        Solution solution = new Solution();

        System.out.println(Arrays.toString(solution.solution("i love you")));
        System.out.println(Arrays.toString(solution.solution("programmers")));
    }
}

공백으로 구분하기 1

profile
새로운 시작~!

0개의 댓글