ZINTERSTORE

<< ZUNIONSTORE ZSCAN >>

集合を求めて新しい集合に保存

使い方は zinterstore dest_key 2 src_key1 src_key2です。
結果集合は指定したdest_keyに保存されます。
各memberのscoreは 加わります。.

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

Example

コマンド>zinterstore dest_key 2 myset1 myset2
結果>4
コマンド>zrange dest_key 0 -1 withscores
結果> 0) 6 -> B
1) 8 -> C

アニメーション表示



weights使用

使い方は zinterstore dest_key 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) }
dest_key ={ (4+12,B)(6+15,C) }
={ (16,B)(21,C) }

Example

コマンド>zinterstore dest_key 2 myset1 myset2 weights 2 3
結果>2
コマンド>zrange dest_key 0 -1 withscores
結果> 0) 16 -> B
1) 21 -> C

アニメーション表示



aggregate使用

使い方は zinterstore dest_key 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) }
dest_key aggregate min = {(2,B),(3,C) }
dest_key aggregate max = {(4,B),(5,C) }

Example

コマンド>zinterstore dest_key 2 myset1 myset2 aggregate min
結果>4
コマンド>zrange dest_key 0 -1 withscores
結果> 0) 2 -> B
1) 3 -> C
コマンド>zinterstore dest_key 2 myset1 myset2 aggregate max
結果>4
コマンド>zrange dest_key 0 -1 withscores
結果> 0) 4 -> B
1) 5 -> C

アニメーション表示



三つ集合の和集合を求めて保存

使い方は zinterstore dest_key 3 myset1 myset2 myset3 です。

myset1 ={ (1,A),(2,B),(3,C)}
myset2 = {(4,B),(5,C)(6,D)}
myset3 = { (7,C)(8,D)(9,E) }
dest_key ={ (15,C)}
source keyの個数には制限がありません。



source keyをdesctination keyに指定可能

ZINTERSTORE myset1 myset1 myset2
myset1のもともとあった内容は消えて、結果がmyset1に入ります。



コマンド

ZINTERSTORE dest_key numkeys src_key [src_key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

  • このコマンドはversion 2.0.0から使用することができます。
  • 論理的処理の所要時間はO(N)+O(M log(M))です。 Nは、入力集合たちの総memberの数であり、Mは結果集合のmember数です。
関連コマンド ZINTERSTORE, SINTERSTORE, SUNIONSTORE, SDIFFSTORE
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

コマンドを実習してみたければ、ここをクリックして Redis Web Client を実行してください。


<< ZUNIONSTORE ZINTERSTORE ZSCAN >>

質問したり、レスを見るためには、クリックしてください。  コメント :    クリック件数 :

Email 返事がかかってなれば、メールでお知らせします。