[Redis] Sets 명령어 설명 & 예제

' ); document.write( '' ); (adsbygoogle = window.adsbygoogle || []).push({}); } else if (window.innerWidth < 768) { document.write( '‘ ); (adsbygoogle = window.adsbygoogle || []).push({}); } ]]>

Sets 관련 명령어 예제

– SADD

설명키에 저장된 집합에 지정된 멤버를 추가합니다. 이 집합의
구성원 인 경우 지정된 멤버는 무시됩니다. key가 없으면
지정된 멤버를 추가하기 전에 새 세트가
만들어집니다.

시간복잡도 : O(1)

redis-cli >
SADD key member
[member …]

redis > SADD test hello world 

 (integer) 1 

 redis
SADD test world 

 (integer) 0 

 redis > SMEMBERS test 

 1) “hello” 
 2) “world”

 

– SMEMBERS

설명 :
키에 저장된 설정 값의 모든 멤버를 반환합니다.
시간복잡도 : O(1)

redis-cli > SMEMBERS key

 redis >
SMEMBERS test

 1) “hello”
 2) “world”

 

 

– SREM

설명키에 저장된 집합에서 지정된 멤버를 제거합니다. 해당
집합의 구성원이 아닌 멤버는 무시됩니다. key가 없으면 빈
세트로 처리되고 명령은 0을 리턴 합니다. key에 저장된
값이 집합이 아닌 경우 오류가 반환됩니다.

시간복잡도 : O(1)

redis-cli > SREM key member [member …]

 redis >
SREM test
hello

 (integer) 1
 redis >
SREM test
hello

 (integer) 0
 redis > SMEMBERS test
 1) “world”

 

 

– SCARD

설명 : 키에 저장된 개수를 반환합니다.
시간복잡도 : O(1)

redis-cli > SCARD key

 redis > SADD test apple
 (integer) 1
 redis > SADD test banana
 (integer) 1
 redis >
SCARD test

 (integer) 2

 




– SDIFF

설명최초의 키 값(key1)을 기준으로 비교되는 키 값(key …)의
차집합을 리턴합니다.
시간복잡도 : O(N)

redis-cli > SDIFF key [key …]

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis >
SDIFF test1 test2

 1) “a”
 2) “b”

 

 

– SDIFFSTORE

설명SDIFF 명령어와 동일하지만 키 값을 반환하는 대신 새로운
키 값에 저장한다.
시간복잡도 : O(N)

redis-cli > SDIFFSTORE destination key [key …]

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis >
SDIFFSTORE test3 test1 test2

 (integer) 2
 redis > smembers test3
 1) “a”
 2) “b”

 

– SINTER

설명 : 지정된 키 값의 교집합을 리턴합니다.
시간복잡도 : O(N*M)

redis-cli > SINTER
key [key …]

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis > SADD test3 c f g
 (integer) 3
 redis > SINTER test1 test2 test3
 1) “c”

 

 

– SINTERSTORE

설명 SINTER 명령어와 동일하지만 키 값의 교집합을 새로운 키에 저장합니다.
시간복잡도 : O(N*M)

redis-cli > SINTERSTORE destination key [key …]

 

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis > SADD test3 c f g
 (integer) 3
 redis > SINTERSTORE test4 test1 test2 test3
 (integer) 3
 redis > SMEMBERS test4
 1) “c”

 

 

– SISMEMBER

설명 : member가 key에 저장된 집합의 구성원인지
여부를 반환. 1이면 존재, 0이면 존재하지 않음
시간복잡도 : O(1)

redis-cli > SISMEMBER key member

 redis > SADD test1 a b c
 (integer) 3
 redis >
SISMEMBER test1 a

 (integer) 1
 redis >
SISMEMBER test1 b

 (integer) 1
 redis >
SISMEMBER test1 d

 (integer) 0

 

 

– SMOVE

설명 : source key 에서 destination key 로 멤버가 이동. 즉
source 에서는 삭제가 되고, destination에 추가
시간복잡도 : O(1)

redis-cli > SMOVE source
destination member

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 d e f
 (integer) 3
 redis >
SMOVE test1 test2 “c”

 (integer) 1
 redis > SMEMBERS test1
 1) “a”
 2) “b”

 redis > SMEMBERS test2
 1) “c”
 2) “d”
 3) “e”
 4)
“f”

 

 

– SPOP

설명 : 키에 설정된 값 저장소에서 하나 이상의 임의의
요소를 제거하고 반환합니다.
시간복잡도 : O(1)

redis-cli > SPOP key [count]

 redis > SADD test1 a b c d e f g
h

 (integer) 8
 redis >
SPOP test1 4

 1) “a”
 2) “d”
 3) “f”
 4)
“h”

 redis > SMEMBERS test1
 1) “b”
 2) “c”
 3) “e”
 4)
“g”

 

 

– SUNION

설명 : 지정된 모든 세트의 결합으로 부터 생성된 세트의
합집합을 반환합니다.
시간복잡도 : O(N)

redis-cli > SUNION key [key …]

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis >
SUNION test1 test2

 1) “c”
 2) “a”
 3) “d”
 4)
“b”
 5) “e”

 

 

– SUNIONSTORE

설명 : SUNION 명령어와 동일하지만 생성된 세트의 합집합을
저장합니다.
시간복잡도 : O(N)

redis-cli > SUNION
destination key [key …]

 redis > SADD test1 a b c
 (integer) 3
 redis > SADD test2 c d e
 (integer) 3
 redis >
SUNIONSTORE
test3 test1 test2

 (integer) 3

 redis > SMEMBERS test3
 1) “d”
 2) “b”
 3)
“c”
 4) “a”
 5) “e”




댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤