zunion
ZUNION
Redis Developer Course | Redis Technical Support | Redis Enterprise Server |
---|
합집합을 구함
사용법은 zunion 2 src_key1 src_key2 이다.
각 member의 score는 지정하지 않으면 기본으로 더해진다.
src_key1 = | { (1,A), | (2,B), | (3,C) | } | |
src_key2 = | { | (4,B), | (5,C) | (6,D) | } |
결과 = | { (1,A), | (6,B), | (8,C), | (6,D) | } |
Example
명령> | zunion 2 src_key1 src_key2 withscores |
결과> |
1) "A" 2) "1" 3) "B" 4) "6" 5) "D" 6) "6" 7) "C" 8) "8" |
weights 사용
사용법은 zunion 2 src_key1 src_key2 weights 2 3 이다.
첫 번째 weight 2는 src_key1의 각 score에 곱해지고, 두 번째 weight 3는 src_key2의 각 score에 곱해진다.
src_key1 = | { (1,A), | (2,B), | (3,C) } | -> | { (1*2,A) (2*2,B) | (3*2,C) } | |
src_key2 = | { | (4,B), | (5,C), | (6,D) } | -> | { (4*3,B) | (5*3,C) (6*3,D) } |
결과 | = | { (2,A) (4+12,B) | (6+15,C) (18,D) } | ||||
= | { (2,A) (16,B) | (21,C) (18,D) } |
Example
명령> | zunion 2 src_key1 src_key2 weights 2 3 withscores |
결과> |
1) "A" 2) "2" 3) "B" 4) "16" 5) "D" 6) "18" 7) "C" 8) "21" |
aggregate 사용
사용법은 zunion 2 src_key1 src_key2 aggregate sum|min|max 이다.
sum은 각 score를 합한다. aggregate를 지정하지 않으면 sum 이 default이므로 sum으로 계산된다.
min은 각 member에서 적은 score를 취하고, max는 큰 score를 취한다.
src_key1 = | { (1,A), | (2,B), | (3,C) } | |
src_key2 = | { | (4,B), | (5,C), | (6,D) } |
aggregate min = | { (1,A) | (2,B), | (3,C), | (6,D) } |
aggregate max = | { (1,A) | (4,B), | (5,C), | (6,D) } |
Example
명령> | zunion 2 src_key1 src_key2 aggregate min withscores |
결과> |
1) "A" 2) "1" 3) "B" 4) "2" 5) "C" 6) "3" 7) "D" 8) "6" |
명령> | zunion 2 src_key1 src_key2 aggregate max withscores |
결과> |
1) "A" 2) "1" 3) "B" 4) "4" 5) "C" 6) "5" 7) "D" 8) "6" |
명령문
ZUNION numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
- 이 명령은 version 6.2.0 부터 사용할 수 있다.
- 논리적 처리 소요시간은 O(N)+O(M*log(M))이다.
관련 명령 | ZINTER, | ZDIFF |
<< ZREMRANGEBYLEX | ZUNION | ZINTER >> |
---|
Email
답글이 올라오면 이메일로 알려드리겠습니다.