Redis 個案研究

NoSQL 概念

Miriam Antona

Software engineer

Redis - 概覽

  • Remote Dictionary Server
  • 熱門的鍵值資料庫
  • 高速記憶體內資料結構儲存
    • 常駐記憶體的資料集
    • 也可將資料持久化到磁碟
  • 可用於:
    • 資料庫
    • 快取
    • 訊息代理

Redis 標誌

  • 開放原始碼
  • Redis Labs:超過 400 名員工
NoSQL 概念

Redis - 資料結構

  • 字串
      SET name Ann
    
  • 串列
      RPUSH my_numbers 1 2 3
    
  • 集合
      SADD my_set 1 2 3
    
  • 雜湊
      HMSET user:123 name Ann surname Smith
    
  • ……
NoSQL 概念

Redis - 資料結構

  • 字串
      SET name Ann
    
  • 串列
      RPUSH my_numbers 1 2 3
    
  • 集合
      SADD my_set 1 2 3
    
  • 雜湊
      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 - 常見用途

  • 快取(查詢結果、影像、檔案…)
  • 工作階段儲存(使用者設定檔、憑證…)
  • 聊天、訊息與佇列(聊天室、即時留言、社群動態…)
  • 即時分析(社群分析、廣告)
  • 遊戲排行榜(即時排序名單)
  • 等等
NoSQL 概念

Redis - 雲端服務

  • Amazon Web Services 的 Redis 版 Elasticache
  • Microsoft Azure Cache for Redis(於 Azure)
  • 阿里雲的 ApsaraDB for Redis
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...