[Redis] Set

반응형

이번 글에서는 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

image.png

@ KEY1에서 KEY2와 중복되는 MEMBER를 제외한 MEMBER들을 반환합니다.

SDIFF [KEY1] [KEY2]

@ KEY1에서 KEY2와 중복되는 MEMBER를 제외한 MEMBER들을 새로운 NEW_KEY에 저장합니다.

SDIFFSTORE [NEW_KEY] [KEY1] [KEY2]

3-2) Intersection of Sets

image.png

@ KEY1과 KEY2에서 중복되는 MEMBER를 반환합니다.

SINTER [KEY1] [KEY2]

@ KEY1과 KEY2에서 중복되는 MEMBER를 새로운 NEW_KEY에 저장합니다.

SINTERSTORE [NEW_KEY] [KEY1] [KEY2]

3-3) Union of Sets

image.png

@ 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 Essentials

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'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

댓글

Designed by JB FACTORY