[Redis] Set
- Redis
- 2020. 8. 20.
이번 글에서는 redis의 data type 중 set에 대해 알아보겠습니다.
1. SET
redis의 set은 unordered collection of string 입니다.
List와 동일하게 add / remove / test for existence of members 등의 기능을 제공합니다. set 내부의 elements의 수와 관계없이 특정 element를 검색하는 시간은 O(1)으로 동일합니다. 최대 elements의 갯수는 2^32-1 입니다.
redis의 set은 여러가지 server side command를 제공합니다. 이를 이용해서 union / intersection / difference of sets 등의 기능을 매우 빠른시간에 수행할 수 있습니다.
2. Command Line
SET TYPE에 사용할 수 있는 redis-cli 명령어 목록은 다음과 같습니다.
@ KEY에 MEMBER를 추가합니다.
SADD [KEY] [MEMBER]
@ KEY의 전체 MEMBER를 반환합니다.
SMEMBERS [KEY]
@ KEY에 해당 MEMBER가 있는지 확인합니다.
SISMEMBER [KEY] [MEMBER]
@ KEY에 속한 MEMBER의 갯수를 반환합니다.
SCARD [KEY]
@ SOURCE KEY에 속한 MEMBER를 DESTINATION KEY로 이동합니다.
SMOVE [SOURCE] [DESTINATION] [MEMBER]
@ KEY에서 랜덤으로 하나의 MEMBER를 반환합니다. MEMBER는 KEY에서 삭제됩니다.
SPOP [KEY]
@ KEY에서 MEMBER를 제거합니다.
SREM [KEY] [MEMBER]
@ KEY에서 랜덤으로 하나의 MEMBER를 반환합니다.
SRANDMEMBER [KEY]
3. Operation
3-1) Difference of Sets
@ KEY1에서 KEY2와 중복되는 MEMBER를 제외한 MEMBER들을 반환합니다.
SDIFF [KEY1] [KEY2]
@ KEY1에서 KEY2와 중복되는 MEMBER를 제외한 MEMBER들을 새로운 NEW_KEY에 저장합니다.
SDIFFSTORE [NEW_KEY] [KEY1] [KEY2]
3-2) Intersection of Sets
@ KEY1과 KEY2에서 중복되는 MEMBER를 반환합니다.
SINTER [KEY1] [KEY2]
@ KEY1과 KEY2에서 중복되는 MEMBER를 새로운 NEW_KEY에 저장합니다.
SINTERSTORE [NEW_KEY] [KEY1] [KEY2]
3-3) Union of Sets
@ KEY1과 KEY2의 전체 MEMBER를 반환합니다. 중복된 MEMBER는 한번만 반환합니다.
SUNION [KEY1] [KEY2]
@ KEY1과 KEY2의 전체 MEMBER를 NEW_KEY에 저장합니다.. 중복된 MEMBER는 한번만 저장합니다.
SUNIONSTORE [NEW_KEY] [KEY1] [KEY2]
참고 자료 : https://www.udemy.com/course/redis-bootcamp-for-beginners/
추천서적
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'Redis' 카테고리의 다른 글
[Redis] Transaction (0) | 2020.08.20 |
---|---|
[Redis] Sorted Set (0) | 2020.08.20 |
[Redis] Hash (0) | 2020.08.20 |
[Redis] List (0) | 2020.08.20 |
[Redis] String (0) | 2020.08.20 |