inflearn logo
知識共有
inflearn logo

2026年!バックエンド開発者のためのRedis実践ガイド:基礎から実務パターンまで

多くのバックエンド開発者がRedisを使用していますが、実際には単純なキャッシュサーバー程度にしか活用できていないケースが多いです。 Redisのデータ型は知っていても、実務でどのように活用すべきか分からなかったり、分散ロックやRate Limiting(流量制限)のような実践的なパターンを直接実装した経験が不足していたり、Redisをバックエンドアーキテクチャの観点から理解できていない場合が多々あります。 私自身も実際のサービス開発を通じて、大量のトラフィック環境でRedisをどのように活用すべきか悩んだ経験があります。単にコマンドを知っていることと、サービスの問題をRedisで解決することは全く別の話だからです。 この講座は、Redisの基本概念とデータ構造から始まり、実際のバックエンドサービスで使用される核心的なパターンを段階的に実装しながら学習する講座です。 特に、以下のような実務上の問題をRedisで解決する方法を学びます。 サーバー負荷を軽減するキャッシング(Cache-Aside)戦略、ログイン状態を共有する分散セッション(Session Store)、同時実行性の問題を解決する分散ロック(Distributed Lock)、APIの過負荷を防ぐRate Limiting、大規模ユーザーのリアルタイムランキングシステム(Leaderboard)。 すべての実習はPython FastAPIベースの実際のAPIサーバー環境で行われ、単なるCLIコマンドの学習ではなく、バックエンドシステムでRedisがどのように使用されるかを直接実装しながら理解を深めます。 この講座を通じて、Redisを単なるキャッシュではなく、バックエンドアーキテクチャを設計する核心的なツールとして活用できるようになるでしょう。

難易度 入門

受講期間 無制限

Architecture
Architecture
Redis
Redis
FastAPI
FastAPI
Architecture
Architecture
Redis
Redis
FastAPI
FastAPI

お知らせ

4 件

  • codingpe님의 프로필 이미지

    こんにちは。受講生の皆さん! 😊

    "セクション 7. [Appendix] ボーナストラック"に新規レッスンを1つ追加しました! 🎉

    (新規レッスン) [特殊タイプ]Redis GEO: 超高速位置検索


    デリバリーアプリや周辺検索など、位置情報ベースのサービスの核心であるRedis GEOを扱います。

    別途空間DBなしでRedisだけで"周辺検索"を実装する方法を学んでみてください。

    学習内容:

    • Redis GEOの概念と特徴

    • Geohashの原理とRedisの内部構造

    • GEOADD、GEODIST、GEOSEARCHなど、GEOの主要コマンドと活用法の演習

    • Redis GEOの用途と限界、実務で推奨されるアーキテクチャの提示

    現在は'セクション7.[Appendix] ボーナストラック'で受講いただけます。

    今後 Bitmap、HyperLogLog、Bloom Filter など他の特殊タイプの講義が追加されれば、「特殊データタイプ」という別途のセクションを作成する予定です。

    ありがとうございます。

    0
  • codingpe님의 프로필 이미지

    修正済み

    こんにちは。受講生の皆さん! 😊

    先日、「公認IP環境でテストする際の注意事項」についてお知らせいたしましたが。

    該当の内容は、テスト環境が外部からアクセス可能なコンピュータ(公認IPなど)である場合、Redisコンテナ作成時のIPバインディングとパスワード設定に関する案内でした。

     

    ところで公認IP環境であっても127.0.0.1にIP制限をされているのであれば、パスワード設定までは行わなくても大丈夫です。

     

    パスワードを設定する場合、その後の実習過程で継続的に認証が必要となり、学習の流れに不便が生じる可能性があります。

     

    パスワードを設定された場合は、可能であれば以下のように既存のコンテナを削除し、(IPのみを指定して)再作成することをお勧めします。

    docker rm -f my-redis
    docker run -d --name my-redis -p 127.0.0.1:6379:6379 redis

     

    学習にご不便をおかけして申し訳ございません。


    以下は、パスワードを使い続ける場合、各講義の実習でパスワードが必要な箇所に関する案内です。

     

    21.Redis Stack: JSON保存と高速検索の体験(FullText Search)

    • Redis InsightにRedisを読み込む際、パスワードを入力する必要があります。

     

    24.トランザクションとスクリプティング: Lua ScriptとRedis Functions

    • Redis Functions 関数ロードコマンドへのパスワード指定

      # Redisにパスワードが設定されている場合
      docker exec -i my-redis redis-cli -a <비밀번호> -x FUNCTION LOAD REPLACE < coupon_logic.lua

     

    セクション5. [Pattern] バックエンド実務活用パターンの実装(with FastAPI)の全体

    • FastAPIでRedisへの接続プールを生成するすべてのコードに、アカウント(default)とパスワードを指定

      @asynccontextmanager
      async def lifespan(app: FastAPI):
          app.state.redis = redis.from_url("redis://localhost:6379/0", decode_responses=True)
      
          # Redisにパスワードが設定されている場合
          # app.state.redis = redis.from_url("redis://default:<パスワード>@localhost:6379/0", decode_responses=True)
      
          print("✅ Redis 接続成功!")
          
          yield
          
          await app.state.redis.aclose()
          print("❌ Redis 接続解除!")

     

    0
  • codingpe님의 프로필 이미지

    こんにちは。受講生の皆さん! 😊

    「セクション 6. [Ops] Redisの運用および障害対応」に新しいレッスンを一つ追加しました。.

    (新規レッスン) 実践モニタリング構築:Prometheus + Grafana連動実習


    CLIを通じたINFO、SLOWLOGといったコマンドでRedisの状態をモニタリングすることは、現時点の状態だけをコンソール上でテキスト形式で確認するものなので、実務においては限界があります。

    そのため、実際の現場でモニ터링システムの構築においてほぼ標準として使用されているPrometheus(収集+時系列DB)+ Grafana(可視化)の組み合わせで、モニタリング環境を直接構築し、実際にRedisへトラフィックを任意に発生させて可視化ダッシュボードで各種指標を確認・解釈する実習過程を盛り込みました。

     

    実習過程を簡単に進められるように構成しました。実際の業務でよく使われるオープンソースの組み合わせですので、ぜひ参考にして実務に活用してみてください。

    ありがとうございます。

     

    1
  • codingpe님의 프로필 이미지

    修正済み

    こんにちは。受講生の皆さん! 😊

    もしご自身のテスト環境が外部からアクセス可能なコンピュータ(公認IPなど)である場合、必ず以下の内容を参考にして安全にRedisを実行してください。

    基本実行コマンド。

    docker run --name my-redis -p 6379:6379 -d redis

    上記の設定は、公認IP環境において外部インターネットにRedisが露出する可能性のある危険な設定です。

     

    👉この場合は、必ず次のように実行してください。(推奨)

    docker run -d --name my-redis -p 127.0.0.1:6379:6379 redis
    • 127.0.0.1 → 外部アクセスの遮断(最も重要)

     

    👉 もしセキュリティをさらに強化したい場合は、以下のようにパスワードを設定することができます。(オプション)

    docker run -d --name my-redis -p 127.0.0.1:6379:6379 redis redis-server --requirepass "パスワード"
    
    • requirepass → 認証なしのアクセス防止(パスワード設定)

      • requirepass必須設定ではなく、テスト環境では省略しても問題ありません

      • ただし、セキュリティをより強化したい場合は設定することができ、その場合以降のすべてのRedis CLIおよびコードの実習時にパスワードを併用する必要があります

     

    パスワード設定後の接続方法

    requirepassオプションを使用した場合は、Redis CLIに接続した後、以下のコマンドを実行する必要があります。 option, you must execute the following command after connecting to the Redis CLI.

    127.0.0.1:6379> AUTH パスワード

    (2026.03.19 追加)

    こんにちは。受講生の皆さん😊

    もし上記の案内の通り、Redisにパスワードを設定してコンテナを作成された場合は、Redis Insightを使用する際に設定したパスワードを入力していただくことで接続が可能になります。

     

    Redis Insightは
    'セクション4. [Advanced] Redisの深化および最新トレンド'の
    'Redis Stack: JSON保存と高速検索の体験(FullText Search)' の講義で扱っています。

     

    (設定パス) Connect existin databas (または Add Redis database) -> Connection settings

    image.png

     

    image.pngimage.png

     

    0

¥11,214