집합 타입은 여러 문자열 요소를 저장하는 데도 사용되지만, 리스트와 달리 그 요소들은 순서가 없고 반복 불가능하며, 인덱스를 통해 원소를 얻을 수 없습니다. 아래 그림에서 보듯이, 집합 사용자:1:follows는 네 가지 요소를 포함합니다: "그의 것", "그것", "스포츠", 그리고 "음악"이며, 한 집합은 최대 (2의 32의 제곱 - 1) 요소들을 저장할 수 있습니다.
1) 수거 내 작전 (1) 요소 추가, sadd key value, [value...] 반환 결과는 성공적으로 추가된 요소의 수입니다.
(2) srem 키 값 [value...] 요소를 삭제합니다. 반환 결과는 성공적으로 삭제된 요소의 수입니다.
(3) 카드 키 원소 수 얻기
(4) 요소가 sismember의 키 값 집합에 속하는지 확인한다
(5) 집합 SrandMember 키에서 지정된 수의 요소를 무작위로 반환합니다. [count] [count]는 선택적 매개변수이며, 작성되지 않으면 기본값은 1입니다.
(6) spop 키 spop 연산에서 무작위로 요소를 팝할 수 있습니다.
(7) 집합 스멤버스 키의 모든 원소를 얻기 컬렉션의 모든 원소를 얻으면, 반환 결과는 순서가 뒤따릅니다.
2) 컬렉션 간 작동 (1) 여러 집합의 교집합 소결 키 [key...]
(2) 여러 집합의 합집합을 찾으세요 sunion key [key...]
(3) 여러 집합의 차집합을 찾는다 sdiff key [key...]
(4) 교차, 합집합, 차분 집합의 결과를 저장한다.
sinterstore storeKey 키 [key...] sunionstore storeKey Key [key...] sdiffstore storeKey Key [key...]
많은 요소가 있을 경우 집합 간 연산이 더 오래 걸리므로, redis는 위의 세 가지 명령어(원본 명령어 + 스토어)를 제공하여 집합 간 교차, 합집합, 차이 집합 결과를 storeKey에 저장합니다. 예를 들어, user:1:follows와 user:2:follows의 두 집합 간의 교차 결과를 user:1_2:follows로 저장합니다.
리소스:https://www.cnblogs.com/pirlo21/p/7120935.html
|