JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
과외유튜브블로그후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

비전공자도 이해할 수 있는 Redis 중급/실전

Redis로 ‘쓰기 작업’에 대한 DB 부하 줄이기

Redis의 수많은 자료 구조를 효율적으로 배우려면?
List 자료 구조 (RPUSH, LRANGE, LPOP 등)
[실습] 좋아요 수 폭증으로 인한 DB 부하를 Redis로 해결하기 - 1
[실습] 좋아요 수 폭증으로 인한 DB 부하를 Redis로 해결하기 - 2

Redis로 동시성 이슈 해결하기

String 자료 구조 (SET, GET, DEL, SETNX)
[실습] 재고를 차감할 때 동시성 이슈로 인한 오차가 발생하지 않도록 만들기 - 1
[실습] 재고를 차감할 때 동시성 이슈로 인한 오차가 발생하지 않도록 만들기 - 2
[실습] 재고를 차감할 때 동시성 이슈로 인한 오차가 발생하지 않도록 만들기 - 3

Redis로 인기 검색어 구현하기

Sorted Set 자료 구조 (ZADD, ZRANGE, ZINCRBY)
[실습] 많이 검색한 키워드 Top 10을 보여주는 '인기 검색어 기능’ 만들기 - 1
[실습] 많이 검색한 키워드 Top 10을 보여주는 '인기 검색어 기능’ 만들기 - 2

Redis로 API 요청 횟수 제한 기능 구현하기 (Rate Limiting)

Sorted Set 자료 구조 (ZCARD, ZREMRANGEBYSCORE, EXPIRE)
[실습] 악의적인 요청을 방지하기 위해, 10초당 API 요청 횟수를 5회로 제한하기 - 1
[실습] 악의적인 요청을 방지하기 위해, 10초당 API 요청 횟수를 5회로 제한하기 - 2

Redis를 활용해 내 위치를 기준으로 반경 1km에 위치한 카페 찾기

Geospatial 자료 구조 (GEOADD, GEOPOS, GEODIST, GEOSEARCH)
[실습] 내 위치를 기준으로 반경 1km에 위치한 카페 찾기 - 1
[실습] 내 위치를 기준으로 반경 1km에 위치한 카페 찾기 - 2

Redis로 하루 동안 서비스에 방문한 사용자 수(DAU) 카운팅하기

Set 자료 구조 (SADD, SMEMBERS, SCARD)
Bitmap 자료 구조 (SETBIT, GETBIT, BITCOUNT)
Set과 Bitmap의 공통점 / 차이점
[실습] 하루 동안 서비스에 방문한 사용자 수(DAU) 카운팅하기 - 1
[실습] 하루 동안 서비스에 방문한 사용자 수(DAU) 카운팅하기 - 2
[실습] 하루 동안 서비스에 방문한 사용자 수(DAU) 카운팅하기 - 3

Redis를 세션 스토리지로 활용하기

Hash 자료 구조 (HSET, HGET, HGETALL)
서버가 2대 이상일 경우, Redis로 세션 스토리지를 구축해야 하는 이유
[실습] 인증 기능을 로컬 세션 스토리지로 구현했을 때 발생하는 문제점 - 1
[실습] 인증 기능을 로컬 세션 스토리지로 구현했을 때 발생하는 문제점 - 2
[실습] Redis로 세션 스토리지 구축하기
← 블로그 목록으로 돌아가기

Set과 Bitmap의 공통점 / 차이점

JSCODE 박재성
JSCODE 박재성
2026. 02. 28.
author
JSCODE 박재성
category
Redis
createdAt
Jan 12, 2026 09:09 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 Redis 중급/실전
slug
set-vs-bitmap-in-redis
type
post
updatedAt
Feb 28, 2026 09:00

✅ Set vs Bitmap

[공통점]
  • Set과 Bitmap은 둘 다 중복을 허용하지 않는 자료구조라는 점이 공통점이다.
 
[차이점]
  • Set은 실제 값을 있는 그대로 저장하는 자료구조이다. 문자열, 숫자, UUID 등 다양한 형태의 데이터를 그대로 담을 수 있다. 반면, Bitmap은 값을 있는 그대로 저장하지 않고, 정수 offset에 대응되는 bit(0또는 1)만 기록하는 구조이다. 그래서 문자열, UUID와 같은 값은 저장할 수 없다.
  • Set은 member 하나하나가 메모리를 차지하기 때문에 데이터 수가 늘어날수록 메모리 사용량이 선형적으로 증가한다. 반면, Bitmap은 데이터 하나당 1bit만 사용하므로 대규모 데이터를 저장해야 하는 상황에서도 매우 적은 메모리로 데이터를 저장할 수 있다. 다만, Bitmap은 0과 1만 저장할 수 있고 문자열, UUID와 같은 값은 저장할 수 없다는 제약이 있다.
  • Set은 데이터 목록 조회, 집합 연산 등 데이터 자체를 다룰 수 있는 명령어를 제공한다. 반면, Bitmap은 데이터 목록을 조회할 수 없고 bit로 저장되기 때문에 데이터를 사람이 읽기도 불편하지만, 대량의 boolean 상태를 적은 메모리 용량으로 처리하는 데 특화되어 있다.
 
 

✅ 정리

Set은 “중복 없는 데이터의 집합을 관리하고 싶을 때” 적합한 자료구조이다.
Bitmap은 “수많은 데이터에 대해 true/false 상태만 효율적으로 기록하고 싶을 때” 적합한 자료구조이다.
 
 
 
📎
이 글은 비전공자도 이해할 수 있는 Redis 중급/실전 강의의 수업 자료 중 일부입니다.