redis Sets
개요
Sets는 key와 value가 일 대 다 관계 입니다.
Sets에서는 집합이라는 의미에서 value를 member라 부릅니다.
key 집합 내에서 Value 는 중복되지 않습니다 (unique)
명령어 요약
저장 :SADD
SADD : sadd key member 예) sadd userset "홍길동1" "홍길동2" , 결과 2(입력된 member수) 가 출력 됩니다.
조회 :SMEMBERS, SCARD, SRANDMEMBER, SSCAN
SMEMBERS : smembers key 예) smembers userset , key의 member를 조회, 조회 순서를 지정 할 수 없습니다.
SCARD : scard key 예) scard userset, key의 member 수 조회 합니다.
SRANDMEMBER : srandmember key [count] 예) srandmember userset 2, key에서 무작위로 member를 조회. count가 없으면 1개 조회 합니다.
SSCAN : SSCAN key cursor [MATCH pattern] [COUNT count] 예) member를 count 만큼 조회 합니다.
members는 모든 member가 많은 경우 부하가 되서 대안으로 나왔습니다.
확인 :SISMEMBER
SISMEMBER : sismember key member 예) sismember userset "홍길동1" , member가 있으면1, 없으면 0 리턴 됩니다.
이동 :SMOVE
SMOVE : smove source_key destination_key member 예) smove userset userset2 "홍길동1", 원자적으로 작동, 성공시1, 실패시0 리턴 됩니다.
sourcekey를 destinationkey로 이동 (삭제 & 삽입) destinationkey가 존재 하자 않으면 생성 후 삽입 됩니다.
destinationkey에 이동할 member가 존재 해도 sourcekey에서 삭제가 이루어지며 결과는 1 리턴 됩니다.
삭제 :SREM
SREM : srem key member 예) srem userset "홍길동1" "홍길동2" , key에서 member를 삭제, 삭제된 member수를 리턴 됩니다.
꺼내옴 :SPOP
SPOP : spop key [count] 예) spep userset , key에서 무직위로 member를 조회 합니다. (삭제 & 조회)
주의) Redis version 3.0.0 이상 지원 합니다.
집합연산 :SUNION, SINTER, SDIFF, SUNIONSTORE, SINTERSTORE, SDIFFSTORE
SUNION : SUNION key [key ...] 예) sunion userset userset2, key들의 모든 member를 합집합으로 조회, key 개수는 제한이 없습니다.
SINTER : SINTER key [key ...] 예) sinter userset userset2, key들의 모든 member를 교집합으로 조회, key 개수는 제한이 없습니다.
SDIFF : SDIFF key [key ...] 예) sdiff userset userset2 , key1에서 key2.. 를 제거한 차집한 조회, key 개수는 제한이 없습니다.
SUNIONSTORE : SUNIONSTORE destination_key source_key [source_key ...] source keys의 합집합을 destinationKey에 생성 삽입합니다.
예) sunionstore newset userset userset2, 결과는 newset의 member 수를 리턴 합니다.
destinationkey 과 sourcekey가 같으면 기존 key 값은 없어지고 합집합이 입력된 key가 생성됩니다.
SINTERSTORE : SINTERSTORE destination_key source_key [source_key ...] source keys의 교집합을 destinationKey에 생성 삽입 됩니다.
예) sinterstore newset userset userset2, 결과는 newset의 member 수를 리턴 합니다.
destinationkey 의 이미 존재한다면 기존 key는 지워지도 새로운 결과 set이 생성됩니다.
SDIFFSTORE : SDIFFSTORE destination_key source_key [source_key ...] source keys의 차집합을 destinationKey에 생성 삽입 합니다.
(SDIFF 참고)
예) sdiffstore newset userset userset2, 결과는 newset의 member 수를 리턴 합니다.
destinationkey 의 이미 존재한다면 기존 key는 지워지도 새로운 결과 set이 생성됩니다.
'NoSQL > redis' 카테고리의 다른 글
Redis cluster (0) | 2021.04.11 |
---|---|
redis Strings (0) | 2021.04.11 |
redis Lists (0) | 2021.04.11 |
redis Sorted Sets (0) | 2021.04.11 |
redis Hashes (0) | 2021.04.11 |
[Redis, 레디스] 레디스 소개 및 아키텍처, 주의할 점(Redis Overview, Redis Architecture, Tool Tip) (0) | 2021.03.29 |
redis desktop manager for windows (1) | 2020.08.14 |
Redis GUI tool 무료 - P3X Redis UI (0) | 2020.08.14 |