第3回まで無料

Redis & NoSQL 入門コース

RDB だけだと苦しくなるところから始めて、Redis の5つの型と TTL、キャッシュの効果測定と無効化、セッション・レート制限・ジョブキュー、MongoDB のドキュメント設計まで。全30レッスンで「このデータをどこに置くべきか」を自分で決められるところまで進みます。コマンドの出力と所要時間は、すべて Redis 8.10.2 と MongoDB 8.0.4 を実際に動かして測った実測値です。

カリキュラム

全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ redis-cli と mongosh はブラウザ内で実行できません。手元に Redis と MongoDB を入れて試してください(導入手順は第2回と第25回にあります)。

Chapter 1 — RDB だけだと困ること(第1〜4回)

いま使っているリレーショナルデータベースのどこが苦しくなるのかを、実際に測って確かめます。最後は NoSQL と呼ばれるものの地図を描き、Redis を起動して触るところまで進みます。

Chapter 2 — Redis の型(第5〜12回)

文字列・ハッシュ・リスト・セット・ソート済みセットの5つと、どれにも付けられる TTL を一通り触ります。最後はパイプラインと MULTI で、往復の回数そのものを減らします。

5

キーの設計と、KEYS を使ってはいけない理由

コロン区切りの命名で名前空間を作る。本番で KEYS を打つと全員が待たされる。代わりに SCAN を使う。

🔒 ベーシック
6

文字列と、数え上げ

Redis の文字列は「数」としても振る舞う。INCR は読んで足して書くのを 1 コマンドで行うので、競合しない。

🔒 ベーシック
7

ハッシュで、1 つのものをまとめる

user:1:name と user:1:email を別のキーにしない。ハッシュならフィールド単位で読み書きでき、1 つの塊として消せる。

🔒 ベーシック
8

リストで、順番を持つ

両端から出し入れできる待ち行列。RPUSH で入れて LPOP で出せば先入れ先出し。LTRIM で長さを抑える。

🔒 ベーシック
9

セットで、重複を持たない

同じ値は 1 つしか入らない。所属の判定が一発でできて、共通・合併・差分を Redis 側で計算できる。

🔒 ベーシック
10

ソート済みセットで、順位を持つ

値ごとにスコアを持たせると、Redis が常に並べておいてくれる。ランキングの取得も順位の取得も一発。

🔒 ベーシック
11

TTL と、期限切れ

EXPIRE で寿命を決める。TTL の戻り値 -1 と -2 は意味が違う。上書きで寿命が消えるのが最大の落とし穴。

🔒 ベーシック
12

パイプラインと MULTI

往復の回数そのものを減らすのがパイプライン。MULTI は割り込みを防ぐが、途中で失敗しても巻き戻らない。

🔒 ベーシック

Chapter 3 — キャッシュ(第13〜18回)

cache-aside の形を作り、TTL の決め方と無効化の落とし穴を踏みます。ヒット率と所要時間を実際に測り、スタンピードとメモリ上限まで面倒を見ます。

Chapter 4 — セッション・レート制限・キュー(第19〜24回)

ログイン状態の保存、カウンタによるレート制限、リストによるジョブの受け渡しを作ります。最後は二重実行と取りこぼしという、キューで必ず出てくる問題を扱います。

Chapter 5 — MongoDB(第25〜28回)

ドキュメント指向のデータ設計を、実際に mongod を起動して確かめます。クエリ・インデックス・explain まで見たあと、RDB の JSON 列と比べて選び方を整理します。

Chapter 6 — 選ぶ(第29〜30回)

再起動でデータが消える条件と、RDB・AOF の違いを実測で確かめます。最後に、目の前のデータをどこに置くべきかを判断する順番に落とし込みます。

全30レッスンを終えたら、RDB 側の土台を固め直す データベース基礎(PostgreSQL)や、キャッシュが効いているかを本番で見張る 監視とオブザーバビリティ入門へ。メンバーシップで全コースが解放されます。