zinterstore
ZINTERSTORE
Redis 開発者教育の申込
|
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 src_key1 src_key2 |
| 結果> | 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 に乗算され、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) } |
| dest_key | = | { (4+12,B) | (6+15,C) } | ||||
| = | { (16,B) | (21,C) } |
Example
| コマンド> | zinterstore dest_key 2 src_key1 src_key2 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 src_key1 src_key2 aggregate min |
| 結果> | 4 |
| コマンド> | zrange dest_key 0 -1 withscores |
| 結果> |
0) 2 -> B 1) 3 -> C |
| コマンド> | zinterstore dest_key 2 src_key1 src_key2 aggregate max |
| 結果> | 4 |
| コマンド> | zrange dest_key 0 -1 withscores |
| 結果> |
0) 4 -> B 1) 5 -> C |
3つの集合の和集合を求めて保存
使い方は zinterstore dest_key 3 src_key1 src_key2 src_key3 です。
| src_key1 = | { (1,A), | (2,B), | (3,C) | } | |
| src_key2 = | { | (4,B), | (5,C) | (6,D) | } |
| src_key3 = | { | (7,C) | (8,D) | (9,E) } | |
| dest_key = | { | (15,C) | } |
Source key を destination key に指定可能
ZINTERSTORE src_key1 src_key1 src_key2
src_key1 の既存内容は消され、結果が src_key1 に入ります。
構文
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 | ZDIFFSTORE >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
