SET
Redis의 Set은 고유한 값들을 저장하는 데 사용되는 데이터 구조로, 중복된 값을 허용하지 않는다. 이 데이터 타입은 다양한 용도로 활용되며, 여러 유용한 기능을 제공한다.
Set은 다음과 같은 특징을 갖는다.
고유한 값 저장
Set은 중복된 값을 허용하지 않으며, 각 값은 오직 한 번만 저장된다. 이는 집합 형태의 데이터를 효과적으로 표현하고 관리할 수 있도록 한다.
집합 연산 지원
Redis의 Set 타입은 여러 집합 연산을 지원한다. 교집합, 합집합, 차집합 등의 연산을 통해 집합 간의 관계를 쉽게 파악하고 다룰 수 있다.
순서 없음
Set은 순서가 없는 데이터 구조이다. 따라서 값을 저장한 순서를 보장하지 않으며, 순서에 의한 접근이 불가능하다.
명령어 (Command)
SADD
설명: 집합에 하나 이상의 멤버를 추가한다.
사용 예제:
> SADD shibaset white black
(integer) 2
SMEMBERS
설명: 집합의 모든 멤버를 반환한다.
사용 예제:
> SMEMBERS shibaset
1) "white"
2) "black"
SISMEMBER
설명: 지정된 값이 집합에 있는지 확인한다.
사용 예제:
> SISMEMBER shibaset white
(integer) 1
> SISMEMBER shibaset red
(integer) 0
SINTER
설명: 여러 집합 간의 교집합을 반환한다.
사용 예제:
> SADD shibaset1 white black
(integer) 2
> SADD shibaset2 black red
(integer) 2
> SINTER shibaset1 shibaset2
1) "black"
SUNION
설명: 여러 집합 간의 합집합을 반환한다.
사용 예제:
> SUNION shibaset1 shibaset2
1) "white"
2) "black"
3) "red"
SDIFF
설명: 여러 집합 간의 차집합을 반환한다.
사용 예제:
> SDIFF shibaset1 shibaset2
1) "white"
SREM
설명: 하나 이상의 요소를 제거한다.
사용 예제:
> SREM shibaset1 white
(integer) 1
> SREM shibaset2 white
(integer) 0
SCARD
설명: Set 요소 수를 반환한다.
사용 예제:
> SADD shibaset "white"
> SADD shibaset "black"
> SCARD shibaset
(integer) 2
활용 예시 (Example)
세션 관리
웹 애플리케이션에서 로그인한 사용자들의 세션을 관리할 때, 각 사용자를 고유한 세션 ID로 저장하는데 Set을 사용할 수 있다.
SADD sessions "session_id_1"
SADD sessions "session_id_2"
태그 관리
블로그나 포럼과 같은 서비스에서 게시물에 태그를 관리할 때, 각 게시물에 사용된 태그를 Set으로 저장하여 중복을 방지할 수 있다.
SADD post_tags:1 "redis" "database" "nosql"
SADD post_tags:2 "java" "programming" "development"
🔭 REFERENCE
'SQL > Redis' 카테고리의 다른 글
Redis 기본 사용자 접근을 막고 아이디 비밀번호 적용하기 (ACL) (0) | 2024.06.15 |
---|---|
Redis Sorted Set 타입 특징 및 자주 쓰는 명령어 알아보기 (0) | 2024.04.14 |
Redis String 타입 특징 및 자주 쓰는 명령어 알아보기 (0) | 2024.02.12 |
댓글