ZINTER

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
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 に乗算され、2番目の 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 返事がかかってなれば、メールでお知らせします。