본문 바로가기
DB/Redis

Redis 기본정리 5

by COCO1337 2021. 1. 8.

Bitmap

Bitmap은 데이터 타입이 아니지만 비트 기반 문자열의 set이다.

비트 연산은 상수 시간의 single bit 연산과 값이나 비트 그룹을 위한 연산으로 나뉜다.

비트맵의 가장 큰 장점은 데이터를 저장하는 공간을 줄일 수 있는 것이다.

SETBIT/GETBIT 명령어로 각각 set,get 할 수 있다.

 

SETBIT의 첫번째 인자는 비트 넘버, 두번째 인자는 비트(0 or 1)이다. GETBIT는 특정 인덱스의 비트값을 반환한다. 비트 범위 밖의 키는 언제나 0을 반환한다.

 

BITOP - 비트수준의 연산자, AND/OR/XOR/NOT을 사용할 수 있다.

BITCOUNT - 값이 1인 비트의 갯수

BITPOS - 0 혹은 1의 특정 비트값중 가장 처음 나오는 비트를 반환한다.

주로 실시간 분석, 고성능이지만 저용량이어야 하는 boolean 데이터들에 유용하게 쓸 수 있다.

 

HyperLogLogs

중복 제거된 값을 매우 적은 비용과 매우 빠른 속도로 계산하는데 사용하는 확률적 자료구조이다. 주로 대용량 데이터에서 중복 제거된 unique value를 계산하는데 의미가 있으며 적은 메모리로 최소한의 오차율을 통해 unique value를 계산한다. Redis에서 별도의 자료구조를 사용하지 않고 String을 사용하며 String 내부는 HyperLogLog data structure로 구성되어있다.

PFADD로 원소를 추가하고 PFCOUNT로 개수를 조회, PFMERGE 명령어로 머지가 가능(예시 찾아볼것)하다.

반응형

'DB > Redis' 카테고리의 다른 글

Redis 외부접속 설정하기  (0) 2021.01.11
Redis 기본정리 4  (0) 2021.01.08
Redis 기본 정리3  (0) 2021.01.08
Redis 기본정리 2  (0) 2021.01.07
Redis 기본 정리  (0) 2021.01.07

댓글