Database

Redis DataType 간단 정리

집사킴 2023. 5. 13. 16:17
728x90
  • String
    • 숫자넣으면 incre decre 기능 사용 가능
    • 활용사례 : 좋아요 수 증감처리
    • mset mget으로 한번에 여러 키/벨류 삽입 조회 가능
  • List
    • 링크드리스트 자료구조
      • 인덱스 조회 불가, 데이터 넣고빼기 용이
    • 파이썬 deque와 비슷한 느낌?
  • Set
    • 활용사례 : 이벤트 쿠폰 발급하고 중복사용 막기. 사용한 유저id를 셋에 삽입
  • Hash
    • 벨류가 오브젝트 처럼 여러 필드를 갖고있음
    • 기존 스트링에 json으로 보관하는 것 과의 차이점 : 특정 필드에 따로 접근 가능
    • 각 필드에 접근하여 incre decre도 가능 : 특정 숫자 증가 가능 (string inc와의 차이점)
  • SortedSet
    • Set의 필드에 score값이 포함되어있음
    • 활용사례 : 게임 랭킹 시스템
  • Bitmap
    • 비트벡터로 아루어짐
    • 활용사례 : 특정 유저의 방문여부 값을 보관. 0/1로만 이루어진 데이터
    • bitcount를 이용하면 방문자수도 구할 수 있음
    • 0 이상의 정수로 이루어진 값만 카운팅에 사용할 수 있음
  • HyperLogLog
    • 유니크한 값의 개수를 효율적으로 얻을 수 있음
    • 100퍼 정확한 값을 보장하진 않음
    • 유니크 보장 값이 큰데도 set 대비 메모리를 적게 사용함 (12KB 고정)
    • 저장한 데이터를 읽을 순 없음. 값을 넣고 그 값의 count를 얻는 목적
728x90