1. 程式人生 > >1.redis介紹

1.redis介紹

1.redis特性

  • 速度快 體現在記憶體處理
  • 持久化 可以把資料持久化到磁碟
  • 多種資料結構
  • 支援多種編輯語言
  • 功能豐富
  • 簡單
  • 主從複製
  • 高可用 分散式

1️⃣ 速度快
官方給出 10W OPS
資料存放在哪裡 -》 記憶體
語言編寫 -》 c語言(核心程式碼約50000line)
執行緒模型 -》單執行緒

型別 每秒讀寫次數 隨機讀寫延遲 訪問頻寬
記憶體 千萬級 80ns 5GB
SSD盤 35000 0.1-0.2ms 100-300MB
機械盤 100左右 10ms 100MB左右

2️⃣持久化
redis將所有的資料儲存在記憶體上,對資料的更新非同步儲存在硬碟上
相關如何持久化後面章節介紹
3️⃣多種資料結構
提供5種資料結構 string list set zset hash
4️⃣支援多語言
java php python ruby lua nodeJs
5️⃣功能豐富
釋出訂閱,lua指令碼,簡單事務,pipeline
6️⃣簡單
體現在:
單節點redis主要功能有23000行程式碼,閱讀起來相對比較容易
不依賴外部庫
單執行緒模型
7️⃣高可用 分散式
高可用 -》 redis-sentinel(v2.8)支援高可用
分散式 -》 redis-cluster(v3.0)支援分散式

2.redis使用場景

  • 快取系統(最為普遍)
  • 計數器
  • 訊息佇列系統
  • 排行榜
  • 社交網路
  • 實時系統
    1️⃣快取系統
    這裡寫圖片描述
    2️⃣計數器
    這裡寫圖片描述
    之所以可以應用計數,一是因為redis提供incre命令,二是採用單執行緒模型,不會發生併發問題