【入門編】 Stream基本操作コマンド – Redis

やあ。Redisの世界へようこそ。
Redisといえば「キーと値の高速な保存場所」というイメージが強いかもしれないけれど、今日はその中でも特に面白い、「Stream(ストリーム)」というデータ構造について話をしよう。

初心者にとって、Streamは少し不思議な存在に見えるかもしれない。でも大丈夫。難しく考える必要はないんだ。今日は、この強力なツールを「日常の出来事」に例えながら、本質を紐解いていくよ。

—

Redis Streamとは「終わりのない伝言板」だ

Streamを理解する一番の近道は、「時系列に並んだ伝言板」をイメージすることだ。

誰かが何かを発言するたびに、新しい伝言が一番下に追加されていく。古いものは勝手に消えないし、順番も絶対に狂わない。チャットアプリのログや、センサーから送られてくる温度データなどを記録するのに、これ以上適した場所はないんだ。

さあ、基本コマンドを順に見ていこう。

—

1. XADD:伝言板に書き込む

まずはデータを追加する`XADD`だ。

「mystream」という伝言板に、「センサーA」の「温度25度」というデータを追加する
は「IDをRedisに自動で決めてもらう」という意味だよ
XADD mystream sensor-id “A” temp 25
実行結果例: “1715000000000-0” (これがこの伝言に振られたユニークなID)

ポイント:
“ を指定すれば、Redisがその瞬間の時間をもとに、絶対に重複しないIDを勝手に作ってくれる。これが「いつ、何が起きたか」を管理する最強の鍵になるんだ。

2. XRANGE / XREVRANGE:伝言を読み返す

次に、溜まったログを確認するコマンドだ。

  • XRANGE: 昔の記録から順番に引っ張り出す(過去を振り返る)
  • XREVRANGE: 最新の記録から逆順で引っ張り出す(直近の状況を確認する)

全ての伝言を古い順に見る
XRANGE mystream – +
– は「一番古いもの」、+ は「一番新しいもの」を指す記号だ

最新の5件を逆順(新しい順)に見る
XREVRANGE mystream + – COUNT 5

「あれ、あの時何があったっけ?」と過去を遡る時、このコマンドは君の頼れる相棒になる。

3. XDEL:特定の伝言を消し去る

間違ったデータを書いた時や、不要になったログを消すのが`XDEL`だ。

IDが「1715000000000-0」の伝言を削除する
XDEL mystream 1715000000000-0

知的なアドバイス:
実務では、一件ずつ消すよりも「古いデータを一括で捨てる(`XTRIM`というコマンドを使う)」ことの方が多い。でも、まずは「IDを指定してピンポイントで消せる」という制御の細かさを知っておいてほしい。

—

ここをクリアすれば、Redisの基本はバッチリマスター!

ここまでで、君は「データの追加」「範囲検索」「個別削除」という、データ管理の三種の神器を手に入れたことになる。

Streamの面白いところは、ただデータを保存するだけじゃなく、「誰がどこまで読んだか(コンシューマーグループ)」を管理する機能まで備えている点なんだ。今回は基本の入り口に触れたけれど、ここをマスターすれば、君はもうRedisの「記録係」としては一人前だ。

最初は難しく感じるかもしれない。でも、Redisは非常に素直なシステムだ。まずは自分の手元で `XADD` を叩いて、データが増えていく様子を眺めてみてほしい。その瞬間に、「ああ、なるほど。データが流れているんだな」という感覚が掴めるはずだよ。

焦ることはない。一つずつ、確実な知識を積み重ねていこう。
何か分からないことがあれば、いつでも聞きに来てくれ。君のエンジニアとしての旅を、心から応援しているよ。

コメント

タイトルとURLをコピーしました