Redis

[Redis] Redis 데이터 형식(Bitmaps)

코푸딩 2023. 3. 22. 21:09
728x90

Bitmaps의 특징

  • 비트 벡터를 사용해 N개의 Set을 공간 효율적으로 저장
    *비트 벡터: 0과 1로 이루어진 긴 벡터
  • 하나의 비트맵의 크기는 4바이트(32비트) = 42억개의 비트 저장
  • 비트 연산 가능
  • 예시: 42억 명의 회원의 하루의 방문 여부를 저장할 수 있다.(방문 시 1로 변환)
명령어 기능 예제
SETBIT 비트맵의 특정 오프셋 값을 변경 SETBIT visit 10 1
: 10 번째 인덱스 1로 변경
GETBIT 비트맵의 특정 오프셋 값을 반환 GETBIT visit 10
BITCOUNT 비트맵에서 1 상태인 개수 반환 BITCOUNT visit
BITOP 비트맵간 비트 연산을 수행하고 결과를 저장 BITOP AND result bitmap1 bitmap2
: 2개 비트맵을 AND 연산해서 result로 저장

 

BITOP의 AND연산을 사용하면 n일 연속 방문자 등을 구하기 용이하다.

728x90