[NoSQL] Redis

wujin·2024년 7월 10일

Redis 기본 명령어

https://github.com/woojin97318/redis-practice


Redis(Remote Dictionary Server)

인메모리 데이터 저장

  • 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 작업이 가능
  • 디스크에는 주기적으로 스냅샷을 저장하여 지속성을 보장

다양한 데이터 구조 지원

  • String, Hash, List, Set, Sorted Set 등 다양한 데이터 구조를 제공

고급 기능

  • 트랜잭션, 퍼블리싱/서브스크라이빙, 키 만료 등의 고급 기능을 지원

고성능 및 확장성

  • 단일 스레드 모델을 사용하지만, 비동기 I/O와 다중 CPU 코어를 활용하여 높은 처리량과 성능을 제공
  • 클러스터링을 통해 데이터베이스를 수평 확장

다양한 사용 사례

  • 세션 캐싱, 대기열 관리, 실시간 분석, 게임 리더보드 등

Redis는 주로 메모리 내의 데이터를 다루기 때문에 메모리 용량이 한정적인 경우 데이터 크기에 주의해야 하며, 데이터의 지속성을 위해 디스크에 주기적으로 저장하는 설정을 고려해야 합니다.


데이터 구조

문자열 (String)

  • 가장 기본적인 키-값 데이터 구조
  • 이진 데이터 또는 텍스트 데이터를 저장
  • 문자열 연산을 지원하며, 기본적으로 GET, SET 등의 명령어를 사용

해시 (Hash)

  • 필드와 값들의 맵핑을 저장하는 데이터 구조
  • 하나의 키에 여러 필드와 값들을 저장
  • 해시 연산을 지원하며, HSET, HGET, HDEL 등의 명령어를 사용

리스트 (List)

  • 순서가 있는 문자열 요소들의 집합을 저장
  • 특정 위치에서 요소를 추가하거나 제거
  • 리스트 연산을 지원하며, LPUSH, RPUSH, LPOP, RPOP 등의 명령어 사용

집합 (Set)

  • 중복되지 않는 문자열 요소들의 집합을 저장하는 데이터 구조
  • 집합 연산을 지원하며, SADD, SREM, SINTER 등의 명령어 사용

정렬된 집합 (Sorted Set)

  • 집합의 각 요소에 대한 순위를 기반으로 정렬된 집합을 저장하는 데이터 구조
  • 각 요소에 대한 스코어(score)를 기준으로 정렬
  • 정렬된 집합 연산을 지원하며, ZADD, ZRANGE, ZREM등의 명령어 사용

0개의 댓글