Set은 실제 값을 있는 그대로 저장하는 자료구조이다. 문자열, 숫자, UUID 등 다양한 형태의 데이터를 그대로 담을 수 있다. 반면, Bitmap은 값을 있는 그대로 저장하지 않고, 정수 offset에 대응되는 bit(0또는 1)만 기록하는 구조이다. 그래서 문자열, UUID와 같은 값은 저장할 수 없다.
Set은 member 하나하나가 메모리를 차지하기 때문에 데이터 수가 늘어날수록 메모리 사용량이 선형적으로 증가한다. 반면, Bitmap은 데이터 하나당 1bit만 사용하므로 대규모 데이터를 저장해야 하는 상황에서도 매우 적은 메모리로 데이터를 저장할 수 있다. 다만, Bitmap은 0과 1만 저장할 수 있고 문자열, UUID와 같은 값은 저장할 수 없다는 제약이 있다.
Set은 데이터 목록 조회, 집합 연산 등 데이터 자체를 다룰 수 있는 명령어를 제공한다. 반면, Bitmap은 데이터 목록을 조회할 수 없고 bit로 저장되기 때문에 데이터를 사람이 읽기도 불편하지만, 대량의 boolean 상태를 적은 메모리 용량으로 처리하는 데 특화되어 있다.
✅ 정리
Set은 “중복 없는 데이터의 집합을 관리하고 싶을 때” 적합한 자료구조이다.
Bitmap은 “수많은 데이터에 대해 true/false 상태만 효율적으로 기록하고 싶을 때” 적합한 자료구조이다.
author
category
Redis
createdAt
Jan 12, 2026
series
비전공자도 이해할 수 있는 Redis 중급/실전
slug
type
series-footer
updatedAt
Jan 12, 2026 12:26 AM
📎
이 글은 비전공자도 이해할 수 있는 Redis 중급/실전 강의의 수업 자료 중 일부입니다.