중복 값 없이 데이터 리스트를 관리해주는 자료 구조이다.
SET 자료구조를 가지는 key 키에 데이터( member1 , member2 ... ) 추가
SADD key member [member ...]
SADD color red green blue yellow black white orange sky
SADD color mix-color
SADD color red
값 추가에 성공하면 추가된 수량이 반환된다.
중복 값을 입력하면 추가되지 않기 때문에 0 반환
SET 자료구조를 가진 key의 데이터 조회
SMEMBERS key
SMEMBERS color
SMEMBERS coloooor
합집합 표현하기
SUNION key1 key2 key3
SADD colors:1 red blue orange
SADD colors:2 blue green purple
SADD colors:3 blue red purple
SUNION colors:1 colors:2 colors:3
3개의 키에서 중복을 제외한 값들이 합쳐진 것을 확인할 수 있다.
교집합 표현하기
SINTER key1 key2 key3
SET 자료구조를 가지는 키 color:1, color:2, color:3 에서 공통으로 갖는 blue 만 출력된 것을 확인할 수 있다.
차집합 표현하기
SDIFF key1 key2 key3
SDIFF colors:1 colors:2 colors:3
제일 처음으로 명시한 colors:1 키의 값들에서
colors:2 가 가진 값들과 colors:3 이 가진 값들을 제거하면 orange 만 출력된다.
SDIFF colors:1 colors:2 colors:3
제일 처음으로 명시한 colors:2 키의 값들에서
colors:1 가 가진 값들과 colors:3 이 가진 값들을 제거하면 green 만 출력된다.
SUNIONSTORE : UNION 결과를 새로운 SET 키에 저장
SINTERSTORE : INTER 결과를 새로운 SET 키에 저장
SDIFFSTORE : DIFF 결과를 새로운 SET 키에 저장
[SUNIONSTORE | SINTERSTORE | SDIFFSTORE] destination_key key1 [key2 key3 ...]
SINTERSTORE 사용해서 test !
SINTERSTORE colors:result colors:2 colors:1 colors:3
SISMEMBER key member
member가 key에 저장되어있는 값인지 확인
SMISMEMBER key member [member2 member3 ... ]
나열한 member member2 member3 ... 들이 각각 key에 저장되어있는 값인지 확인
black , purple 은 없는 값이고
red , orange 는 존재하는 값이다.
set cardinality
key에 저장된 member 수량 확인
SCARD key
set remove
key에 저장된 member 제거
SREM key member
key 의 cursor 번째 데이터 이후로 count 갯수 만큼 랜덤으로 반환
SSCAN key cursor [MATCH pattern] [COUNT count]
오..? result가 최대 1개만 나와야 하는데 3개가 나왔다 ;
result가 최대 2개만 나와야 하는데 3개가 나왔다 ;;
COUNT가 기능을 안하는건가..!!
cursor가 1이 나와야 하고, results 는 3개 중에 cursor가 1이니 2개 나오는게 맞다.
하지만 cursor가 0으로 출력되었다..!!!
뭔가 이상하니 왠만하면 사용하지 않는 방향으로 🙈