zinterstore
ZINTERSTORE
Redis 開発者教育 Redis Developer Course |
Redis 定期点検/技術支援 Redis Technical Support |
Redis エンタープライズサーバ Redis Enterprise Server |
---|
積集合を求めて新しい集合に保存
使い方は 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を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 |
<< ZUNIONSTORE | ZINTERSTORE | ZSCAN >> |
---|
クリック件数 :
Email
返事がかかってなれば、メールでお知らせします。