redis的單執行緒架構

2022-08-23 22:24:17 字數 553 閱讀 1502

redis很快,官網給出的資料是10萬/秒,當然是跟機器的配置有關係的,redis是使用單執行緒架構和io多路復用來實現高效能

redis單執行緒處理命令的機制

redis客戶端和服務端的通訊大致可分為三個步驟

1.傳送命令;2.執行命令;3返回結果

當多個redis命令同時到達伺服器端時,redis由於單執行緒的機制會導致命令不會立即被執行,而是進入乙個佇列中,然後逐個被執行,執行順序跟佇列中的命令順序有關

這樣有關好處就是不會產生併發問題

一般來說單執行緒處理能力要比多執行緒差,但是redis的單執行緒很快主要歸結於三點

1.redis是純記憶體的訪問,記憶體的響應時間一般遠遠高於磁碟

2.非阻塞io,redis使用epoll作為io的多路復用實現技術

3.單線的避免了執行緒切換和競爭的消耗,也避免了各種鎖的問題

根據redis的單執行緒架構特性可知,如果某個命令執行時間過長,將會阻塞其他命令 ,這對redis是致命的。

Redis的單執行緒架構

redis使用了單執行緒架構 和 i o多路復用模型來實現高效能的記憶體資料庫服務。這裡通過 多個客戶端 命令呼叫的例子說明 redis單執行緒命令處理機制,接著分析 redis單執行緒模型為什麼效能如此之高,最終給出為什麼 理解單執行緒模型是使用和運維redis的關鍵。開啟三個redis cli客...

Redis單執行緒

redis 的單執行緒主要是指 redis 的網路 io 和鍵值對讀寫是由乙個執行緒來完成的,這也是 redis 對外提供鍵值儲存服務的主要流程。當多個客戶端發起命令,這些命令併發執行時,在redis內部,會排隊逐個執行,也就是執行命令的那個操作是由乙個執行緒執行的。但 redis 的其他功能,比如...

redis的單執行緒

1 完全基於記憶體,絕大部分請求是純粹的記憶體操作,非常快速。資料存在記憶體中,類似於hashmap,hashmap的優勢就是查詢和操作的時間複雜度都是o 1 2 資料結構簡單,對資料操作也簡單,redis中的資料結構是專門進行設計的 3 採用單執行緒,避免了不必要的上下文切換和競爭條件,也不存在多...