redis單線程爲什麼這麼快

所謂redis很快,到底是指的什麼?

響應時長很短

那麼響應時長由什麼組成呢?

響應時長=網絡耗時+redis自身耗時

網絡耗時正常和運營商相關,一般爲近似固定的延時

redis自身耗時=接受請求+分發請求+處理請求

總結redis單線程比較快的原因: 

1) 使用IO多路複用,例如epoll (提升吞吐量)

2)    純內存操作  (處理請求耗時短,單位時間內處理的請求數量就多)

3) 高效的數據結構,比如hash等 (儘量接近O(1)時間複雜度高效查詢)

4) 性能瓶頸在內存,CPU不是瓶頸,單線程避免線程上下文的切換  (找到瓶頸所在,避免額外損耗)

5) 連接池 (避免連接創建和關閉帶來的損耗)

發佈了206 篇原創文章 · 獲贊 104 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章