Redis redis這麼快,為什麼還是單執行緒?

2021-10-06 04:29:00 字數 325 閱讀 2294

redis 確實是單程序單執行緒的模型,因為 redis 完全是基於記憶體的操作,cpu 不是 redis 的瓶頸,redis 的瓶頸最有可能是機器記憶體的大小或者網路頻寬。

①redis 完全基於記憶體,絕大部分請求是純粹的記憶體操作,非常迅速,資料存在記憶體中,類似於 hashmap,hashmap 的優勢就是查詢和操作的時間複雜度是 o(1)。

②資料結構簡單,對資料操作也簡單。

③採用單執行緒,避免了不必要的上下文切換和競爭條件,不存在多執行緒導致的 cpu 切換,不用去考慮各種鎖的問題,不存在加鎖釋放鎖操作,沒有死鎖問題導致的效能消耗。

④使用多路復用 io 模型,非阻塞 io。

Redis Redis是什麼 為什麼這麼快

完全基於記憶體,將資料儲存在記憶體中,讀取的時候不需要進行磁碟的 io reids的瓶頸是記憶體以及網路,之前單執行緒實現是因為單執行緒實現簡單 採用單執行緒,避免了不必要的上下文切換和競爭條件,也不存在多程序或者多執行緒導致的切換而消耗 cpu 這是歷史遺留問題,以前伺服器的配置低,單執行緒實現簡...

為什麼redis是單執行緒的以及為什麼這麼快?

我們先來認真看一下官網的說法。翻譯過來大意如下 cpu並不是您使用redis的瓶頸,因為通常redis要麼受記憶體限制,要麼受網路限制。例如,使用在一般linux系統上執行的流水線redis每秒可以傳送一百萬個請求,因此,如果您的應用程式主要使用o n 或o log n 命令,則幾乎不會使用過多的c...

Redis是單執行緒,為什麼這麼快?

為什麼這麼快,簡單說法 1.redis是基於記憶體的,記憶體的讀寫速度非常快 2.redis是單執行緒的,省去了很多上下文切換執行緒的時間 3.redis使用多路復用技術,可以處理併發的連線 較詳細的解釋 1 完全基於記憶體,絕大部分請求是純粹的記憶體操作,非常快速。資料存在記憶體中,類似於hash...