Redis의 자료구조 String과 Hash 비교

우몽가·2024년 9월 1일

STRING

👍 장점

  • 개별 필드에 대한 접근이 간단하다.
  • 필요한 필드만 메모리에 로드할 수 있다.
  • 키-값 쌍으로 간단하게 데이터 관리 가능
  • STRING이 독립적이기 때문에 특정 필드에 대한 읽기 및 쓰기 연산이 독립적으로 수행된다.

👎 단점

  • STRING 키에 대한 메모리 오버헤드가 발생한다.
  • 데이터 일관성을 유지하기 어려울 수 있다.
    (트랜잭션 없이 원자성을 유지하기 어렵다..)

HASH

👍 장점

  • 메모리 사용 효율성이 좋다.
    - 사실 어떻게 사용하느냐에 따라 다를 것이다.
  • 여러 필드를 하나의 HASH에 저장하면 전체 데이터 관리가 용이해진다.
  • HGET, HSET등으로 특정 필드에 접근할 수 있으며 일괄 처리도 쉽게 가능하다.
  • 데이터 일관성을 유지하기 용이하다.

👎 단점

  • 특정 필드만 자주 접근하는 경우 모든 필드를 저장한 HASH보다 개별 STRING이 더 효율적일 수 있다.
  • HASH가 아주 커지면 Redis의 단일 스레드 구조에서 병목이 될 가능성이 있다.
profile
우몽가의 노트

0개의 댓글