redis-番外篇:唯快不破的祕密

aliyeye發表於2021-01-29

Redis 全景圖

應用維度:快取使用、叢集運用、資料結構的巧妙使用

系統維度:可以歸類為三高

  1. 高效能:執行緒模型、網路 IO 模型、資料結構、持久化機制
  2. 高可用:主從複製、哨兵叢集、Cluster 分片叢集
  3. 高擴充:負載均衡

完全基於記憶體實現

Redis 是基於記憶體的資料庫,跟磁碟資料庫相比,完全吊打磁碟的速度。對於磁碟資料庫來說,首先要將資料通過 IO 操作讀取到記憶體裡。

磁碟呼叫棧圖

MXRDkplRqU.webp!large

記憶體操作

記憶體直接由 CPU 控制,也就是 CPU 內部整合的記憶體控制器,所以說記憶體是直接與 CPU 對接,享受與 CPU 通訊的最優頻寬

Redis資料型別與底層資料結構關係

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

Redis hash 字典

Redis 整體就是一個 雜湊表來儲存所有的鍵值對,無論資料型別是 5 種的任意一種。雜湊表,本質就是一個陣列,每個元素被叫做雜湊桶,不管什麼資料型別,每個桶裡面的 entry 儲存著實際具體值的指標。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章