ZINTER

Redis Developer Course Redis Technical Support Redis Enterprise Server

집합을 구함

사용법은 zinter 2 src_key1 src_key2 이다.
각 member의 score는 지정하지 않으면 기본으로 더해진다.

src_key1 ={ (1,A),(2,B),(3,C)}
src_key2 = {(4,B),(5,C)(6,D)}
결과 = {(6,B),(8,C)}

Example

명령>zinter 2 src_key1 src_key2 withscores
결과> 1) "B"
2) "6"
3) "C"
4) "8"

weights 사용

사용법은 zinter 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) } ->{ (2*2,B)(3*2,C) }
src_key2 ={ (4,B),(5,C),(6,D) }->{ (4*3,B)(5*3,C) }
결과 ={ (4+12,B)(6+15,C) }
={ (16,B)(21,C) }

Example

명령>zinter 2 src_key1 src_key2 weights 2 3 withscores
결과> 1) "B"
2) "16"
3) "C"
4) "21"

aggregate 사용

사용법은 zinter 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 = {(2,B),(3,C) }
aggregate max = {(4,B),(5,C) }

Example

명령>zinter 2 src_key1 src_key2 aggregate min withscores
결과> 1) "B"
2) "2"
3) "C"
4) "3"
명령>zinter 2 src_key1 src_key2 aggregate max withscores
결과> 1) "B"
2) "4"
3) "C"
4) "5"


명령문

ZINTER numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]

  • 이 명령은 version 6.2.0 부터 사용할 수 있다.
  • 논리적 처리 소요시간은 O(N*K)+O(M*log(M))이다.
관련 명령 ZUNION, ZDIFF

<< ZUNION ZINTER ZDIFF >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.