1.redis介紹
阿新 • • 發佈:2018-12-25
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命令,二是採用單執行緒模型,不會發生併發問題