02
第 2 章

Redis の基礎と環境構築

この章で学ぶこと
1 Redis の位置づけと RDB との違い
2 Docker で Redis を起動する手順
3 redis-cli の基本操作とコマンドの調べ方
解説

Redis とは

Redis
Remote Dictionary Server の略
オープンソースのインメモリデータストア
データベース、キャッシュ、メッセージブローカーとして利用可能
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
図解

インメモリ vs ディスクベースの比較

データの保存先とアクセス速度の違い

Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

インメモリデータストア

インメモリ
データをすべてメモリ(RAM)上に保持
ディスクへのアクセスが不要なため、読み書きが非常に高速
サブミリ秒のレイテンシを実現
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
図解

キーバリューモデルの構造

1 つのキーに 1 つのバリューが対応する

Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

キーバリューモデル

キー
データを一意に識別する文字列
バリュー
キーに対応するデータ(文字列、リスト、ハッシュなど)
1 つのキーに 1 つのバリューが対応する
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
図解

RDB との比較

観点RDB(MySQL 等)Redis
データの保存先ディスクメモリ
データモデルテーブル(行と列)キーバリュー
レイテンシミリ秒〜サブミリ秒
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

Redis が得意とする場面

低レイテンシが求められる場面
セッション管理、リアルタイムランキング
高頻度アクセスの場面
キャッシュ、レートリミッティング
一時的なデータの管理
TTL(有効期限)でデータを自動削除
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
図解

Docker Compose による環境構成

コンテナ内の redis-cli で操作する

Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

環境構築の概要

Docker Compose
で Redis コンテナを起動
コンテナ内の redis-cli で操作
ホストへのインストール不要
本コースでは Redis 8 系を使用
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
コード

docker-compose.yml

docker-compose.yml
services:
  redis:
    image: redis:8
    ports:
      - "6379:6379"
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
実演

実演 — Redis コンテナの起動と接続

目的Docker Compose で Redis を起動し、redis-cli で接続する
実行する
コマンド
$ docker compose up -d$ docker compose exec redis redis-cli
確認する
ポイント
PING コマンドで PONG が返ること
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
実演

実演 — SET / GET / DEL で動作確認

目的基本的なデータの書き込み・読み取り・削除を体験する
操作SET → GET → DEL → GET
確認する
ポイント
値の書き込みと読み取り、削除後に nil が返ること
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

redis-cli の役割

Redis に同梱されているコマンドラインクライアント
Redis サーバーにコマンドを送信し、結果を表示する
対話モードとコマンドライン引数モードの 2 つの使い方がある
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
実演

実演 — HELP コマンド

目的redis-cli でコマンドのヘルプを確認する方法を把握する
実行する
コマンド
$ HELP SET$ HELP @string
確認する
ポイント
コマンドの書式や説明が表示されること
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
図解

Redis のデータベース構造

デフォルトで 0〜15 の 16 個のデータベースを持つ

Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
コマンド

SELECT — データベースの切り替え

$ SELECT 
SELECT 操作対象のデータベースを切り替える
Redis はデフォルトで 16 個のデータベース(0〜15)を持つ。接続時はデータベース 0 が選択される
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
コマンド

DBSIZE / FLUSHDB

$ DBSIZE$ FLUSHDB
DBSIZE現在のデータベースに格納されているキーの数を返す
FLUSHDB現在のデータベースのすべてのキーを削除する
FLUSHALLすべてのデータベースのキーを削除する
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
コマンド

EXISTS — キーの存在確認

$ EXISTS <キー名>
EXISTS <キー名>キーが存在すれば 1、存在しなければ 0 を返す
複数キーをまとめて確認可能(存在するキーの数を返す)
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

Redis Insight

Redis 公式の GUI ツール(無料)
データの閲覧・検索・編集を視覚的に操作できる
本コースでは redis-cli を使うが、選択肢として紹介
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
まとめ

この章のまとめ

Redis — オープンソースのインメモリデータストア
インメモリ — データをメモリ上に保持し、サブミリ秒で読み書き
キーバリューモデル — キーとバリューの対応でデータを管理
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
まとめ

この章のまとめ

SET / GET / DEL — 基本的な読み書き・削除
EXISTS — キーの存在確認
HELP — コマンドのヘルプ表示
SELECT / DBSIZE / FLUSHDB — データベースの管理
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ
解説

次のセクションへ

次のセクション: データ構造(基本編)
Redis の値に使える 5 つのデータ構造を学ぶ
String、Hash、List、Set、Sorted Set
Redis とは
環境構築
redis-cli
コマンド
Redis Insight
まとめ