xgroup
XGROUP
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
コンシューマーグループ(consumer group)
コンシューマーグループは コンシューマー(Consumer)を指定してデータを読め、 コンシューマーが読んだデータを正しく処理したか確認でき、 正しく処理できていなければ他のコンシューマーに割り当てて処理する方法を提供します。
XGROUP コマンドには次の機能があります。
- コンシューマーグループを作る
- コンシューマーグループを削除する
- コンシューマーを削除する
- ID を再指定する
コンシューマーグループを作る
使い方は XGROUP CREATE key group id-or-$ です。
Example
| コマンド> | XGROUP CREATE sensor-1234 CG-A 0 |
| コマンド> | XGROUP CREATE sensor-1234 CG-B 1538568728545 |
| コマンド> | XGROUP CREATE sensor-1234 CG-C $ |
- 1つ目のコマンドはコンシューマーグループ名を CG-A とし、ID を 0 に指定して sensor-1234 ストリームの最初のデータから読むよう設定しました。
- 2つ目のコマンドはコンシューマーグループ名を CG-B とし、特定 ID を指定してこの ID の次のデータから読むよう設定しました。
- 3つ目のコマンドは特別な ID '$' を使い、このコマンド実行後に入ってきたデータから読むよう設定しました。
- 正常に作成されると 'OK' を返します。
コンシューマーグループを削除する
コンシューマーグループを削除します。ペンディング(pending)データがあっても削除されます。
使い方は XGROUP DESTROY key group です。
Example
| コマンド> | XGROUP DESTROY sensor-1234 CG-A |
正常に削除されると 1 を返します。存在しないコンシューマーグループを指定すると 0 を返します。
コンシューマーを削除する
コンシューマーを削除します。コンシューマーは XREADGROUP コマンドでデータを読むときにコンシューマーを指定すると自動で作られます。
使い方は XGROUP DELCONSUMER key group consumer です。
Example
| コマンド> | XGROUP DELCONSUMER sensor-1234 CG-A consumer |
削除するコンシューマーにペンディングデータがある場合、その件数を返します。 そうでなければ 0 を返します。 存在しないコンシューマーを指定した場合も 0 を返します。
ID を再指定する
XREADGROUP コマンドで読み始める ID を再指定します。最初の ID 指定は XGROUP CREATE コマンドで行います。
使い方は XGROUP SETID key group id-or-$ です。
Example
| コマンド> | XGROUP SETID sensor-1234 CG-A 0 |
| コマンド> | XGROUP SETID sensor-1234 CG-A 1538568728545 |
| コマンド> | XGROUP SETID sensor-1234 CG-A $ |
正常に処理されると 'OK' を返します。
構文
XGROUP
[CREATE key group id-or-$]
[DESTROY key group]
[DELCONSUMER key group consumer]
[SETID key group id-or-$]
- このコマンドは version 5.0.0 から使用できます。
- 時間計算量は O(log(N)) です。N はストリームに保存されているエントリ(ID)の個数です。
DESTROY の場合、削除するペンディングデータがあればその件数分さらにかかります。O(M) - 戻り値はサブコマンド(subcommand)ごとに異なります。
| << XTRIM | XGROUP | XREADGROUP >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
