XREAD

Redis 開発者教育の申込 Redis 定期点検/技術サポート
Redis Technical Support
Redis エンタープライズサーバー
Redis Enterprise Server

データを読む

使い方は XREAD count 1 STREAMS key ID です。

Example

コマンド>XREAD count 1 STREAMS sensor-1234 0
結果>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-0
            2) 1) "temperature"
                2) "98.7"
コマンド>XREAD count 1 STREAMS sensor-1234 1538319053569-0
結果>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-1
            2) 1) "temperature"
                2) "98.8"
  • 指定した ID より大きいデータを読みます。 そのため XRANGE のように +1 する必要はありません。繰り返し読むときは XRANGE より便利です。
  • XRANGE とのもう一つの違いは key を複数指定できることです。
    XREAD count 1 STREAMS sensor-1234 sensor-5678 0 0
    このとき count は各キーあたり読み取るデータ件数です。

BLOCK オプション

これは List の BLPOP と似ています。使い方は次のとおりです。

Example

コマンド>XREAD count 1 block 1000 STREAMS sensor-1234 $
結果>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-0
            2) 1) "temperature"
                2) "98.7"
コマンド>XREAD count 1 block 1000 STREAMS sensor-1234 1538319053569-0
結果>1) 1) "sensor-1234"
    2) 1) 1) 1538319053569-1
            2) 1) "temperature"
                2) "98.8"
  • BLOCK オプションの後にはミリ秒を入力します。該当データをこの時間待ってから読みます。
  • 最初に読むときは特別な ID である $ を使うのがよいです。これはコマンド実行後に入ってくるデータを読みます。

構文

XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]

  • このコマンドは version 5.0.0 から使用できます。
  • 時間計算量は O(log(N)+M) です。N はストリームに保存されているエントリ(ID)の個数、M は返されるエントリの個数です。

<< XREVRANGE XREAD XDEL >>

Email 返事がかかってなれば、メールでお知らせします。