zinter
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
返事がかかってなれば、メールでお知らせします。
