Redis ケーススタディ

NoSQLの基礎概念

Miriam Antona

Software engineer

Redis - 概要

  • Remote Dictionary Server
  • 人気のキーバリューデータベース
  • 高速なインメモリデータ構造ストア
    • インメモリデータセット
    • ディスクへのデータ永続化も可能
  • 用途:
    • データベース
    • キャッシュ
    • メッセージブローカー

Redisロゴ

  • オープンソース
  • Redis Labs:従業員400名以上
NoSQLの基礎概念

Redis - データ構造

  • 文字列(Strings)
      SET name Ann
    
  • リスト(Lists)
      RPUSH my_numbers 1 2 3
    
  • セット(Sets)
      SADD my_set 1 2 3
    
  • ハッシュ(Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
NoSQLの基礎概念

Redis - データ構造

  • 文字列(Strings)
      SET name Ann
    
  • リスト(Lists)
      RPUSH my_numbers 1 2 3
    
  • セット(Sets)
      SADD my_set 1 2 3
    
  • ハッシュ(Hashes)
      HMSET user:123 name Ann surname Smith
    
  • ...
1 https://redis.io/glossary/redis-data-structures/
NoSQLの基礎概念

Redis - 機能

  • アトミック操作
  • トランザクション
  • 複雑な処理のためのLuaスクリプト
  • 対応言語: Python、R、C#、Java、JavaScript、PHP...
  • 非同期レプリケーション
NoSQLの基礎概念

Redis - 主な用途

  • キャッシュ(クエリ結果、画像、ファイルなど)
  • セッションストレージ(ユーザープロファイル、認証情報など)
  • チャット・メッセージング・キュー(チャットルーム、リアルタイムコメント、SNSフィードなど)
  • リアルタイム分析(SNS分析、広告など)
  • ゲームリーダーボード(リアルタイムランキング)
  • など
NoSQLの基礎概念

Redis - クラウド対応

  • Amazon Web Services Elasticache for Redis
  • Microsoft Azure Cache for Redis(Azure)
  • Alibaba ApsaraDB for Redis(Alibaba Cloud)
NoSQLの基礎概念

Redis - 導入企業

Redisを利用する主要顧客のロゴ

NoSQLの基礎概念

Editoo ケーススタディ

Editooロゴ

  • 中小企業
  • カスタム雑誌を作成できるオンラインツール
    • 個人向け
    • ビジネス向け

課題:

  • ユーザー増加による高レイテンシ
  • 既存のRDBMSではその増加に対応できなかった

 

解決策: Redisの活用

  • ユーザーセッションの保存
  • データベースクエリのキャッシュ
NoSQLの基礎概念

Editoo ケーススタディ

結果:

  • ダウンタイムの削減
  • パフォーマンスの向上
  • 既存のリレーショナルデータベースからRedisへの将来的な移行
NoSQLの基礎概念

Editoo ケーススタディ

結果:

  • ダウンタイムの削減
  • パフォーマンスの向上
  • 既存のリレーショナルデータベースからRedisへの将来的な移行
1 https://redis.io/customers/
NoSQLの基礎概念

練習しましょう!

NoSQLの基礎概念

Preparing Video For Download...