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