본문 바로가기
AMQP/redis

redis 어디까지 써봤나? feat. Goddis

by Bill Lab 2024. 8. 28.
728x90

이번 블로그는 redis에 대해 다뤄보려한다. 

redis를 현업에서도 많이 사용중일텐데 과연 어디까지 써봤을까?에 대한 주제이다.

 

◎ 먼저 redis 의 기본 기능에 대해...(자료구조와 주요 기능 측면)

더보기
  • 키-값 저장소: Redis는 키와 값의 쌍을 저장합니다. 값은 문자열, 리스트, 셋, 해시, 정렬된 셋 등 다양한 형식이 가능
  • 문자열 (String): 가장 간단한 데이터 형식으로, 텍스트나 숫자를 저장
  • 리스트 (List): 문자열 값의 순서가 있는 리스트를 저장
  • 셋 (Set): 중복되지 않는 문자열 값을 저장
  • 정렬된 셋 (Sorted Set): 값에 Score를 매겨 정렬된 상태로 저장할 수 있는 자료구조
  • 해시 (Hash): 필드와 값의 쌍을 저장하는 데이터 구조
  • 비트맵 (Bitmap): 비트 단위로 데이터를 저장할 수 있는 기능
  • 하이퍼로그로그 (HyperLogLog): 대량의 고유한 요소를 카운트할 때 메모리 사용을 절약할 수 있는 데이터 구조
  • 지오스페이셜 인덱싱 (Geospatial Indexing): 위치 정보를 저장하고 쿼리할 수 있는 기능을 제공
  • 퍼시스턴스 (Persistence): 데이터를 디스크에 저장하는 두 가지 방법을 제공

        (RDB: 주기적으로 스냅샷으로 저장, AOF: 모든 쓰기명령을 로깅)

  • 트랜잭션 (Transaction): 여러 명령을 하나의 트랜잭션으로 묶어 원자적으로 실행(MULTI, EXEC, DISCARD, WATCH)
  • Pub/Sub: 메시지를 채널에 게시하고 구독자들에게 전달할 수 있는 기능을 제공
  • 스크립팅 (Scripting): Lua 스크립트를 서버에서 실행할 수 있으며, 이를 통해 복잡한 연산을 서버 측에서 수행
  • 복제 (Replication): 데이터를 복제하여 여러 Redis 인스턴스에 분산 저장할 수 있습니다. 마스터-슬레이브 구조를 지원
  • 고가용성 (High Availability): Redis Sentinel을 사용하여 장애 조치(failover)와 클러스터 모니터링을 지원
  • 클러스터링 (Clustering): Redis 클러스터를 사용하여 데이터 분산 저장과 자동 샤딩을 지원

 

 

그럼 이러한 기능을 통해 어디에다가 적용할 수 있을까?

◎ Memory 기반 저장소로 사용!!

더보기

key - value, list, string, 형식 등을 이용하여 nosql의 일환으로 빠른 처리속도가 보장되는 memory 형 db로써 활용이 가능

◎ Message Queue 로써 활용은?

더보기

redis 의 특징 중 Pub / Sub 기능을 지원해 줌으로써 publish (producer), subscriber(consumer) 의 기능수행이 가능하다

(단, 경쟁 제품의 동작방식과 특징이 다르므로 주의 필요)

◎ 사용중에 기존 리소스가 부족하면?

더보기

redis 는 고가용성과 클러스터링을 지원하기 때문에 서버를 추가로 늘려 추가자원을 확보할 수 있다.

◎ 대기열 처리는?

더보기

sets와 sorted set을 활용하여 wait queue 와 active queue 에 대한 대기열 처리가 가능하다.

오늘은 redis 주요 특징과 활용방안에 대해 기재해보았다.

이후 포스팅에서는 각각을 어떻게 구현할 것인지와 마지막으로 국내 빅테크 기업에서 어떻게 활용하는지 다뤄보도록 하겠다.

728x90

'AMQP > redis' 카테고리의 다른 글

Redis Cluster 설명  (0) 2025.04.21
redis dockerfile 로 local에서 띄우기  (3) 2024.11.01