
Redis SET 자료구조 🔥
SET 자료구조란?
- 중복이 없는(unique) 데이터 저장
- 순서가 없는 데이터 구조
- 빠른 조회 및 집합 연산에 강점이 있음
SET 주요 명령어
데이터 추가 및 제거
SADD key value → SET에 값 추가 (중복 불가)
SREM key value → SET에서 특정 요소 제거
SET 조회 및 확인
SMEMBERS key → SET의 모든 값 조회
SCARD key → SET 요소 개수 조회
SISMEMBER key value → 특정 요소가 존재하는지 확인 (1: 존재, 0: 없음)
SET 사용 예제
SET에 값 추가
SADD memberlist member1
SADD memberlist member1
SADD memberlist member2
SET 조회
SMEMBERS memberlist
SET 요소 개수 조회
SCARD memberlist
SET에서 특정 멤버 제거
SREM memberlist member2
특정 요소가 SET 안에 존재하는지 확인
SISMEMBER memberlist member1
Redis SET 활용: 좋아요 ❤️ 및 방문자 수 집계
문제점 (String 자료구조 사용 시)
- 일반적인
String 자료구조를 사용하면 같은 유저가 계속 좋아요를 누를 수 있어 집계 오류 발생
- 기존 유저가 무한정 좋아요를 누르면, 부정확한 데이터 집계가 됨
SET을 활용한 해결 방법 (중복 제거)
SADD like:posting:1 member1
SADD like:posting:1 member2
SADD like:posting:1 member1
좋아요 개수 조회
SCARD like:posting:1
특정 유저가 좋아요를 눌렀는지 확인
SISMEMBER like:posting:1 member1