更新時間:2022-04-22 09:30:18 來源:動力節點 瀏覽2483次
Redis單線程為什么快?動力節點小編來為大家解答。
1.完全基于內存操作,速度非常快。數據存儲在內存中,類似于 hashmap。優點是搜索和操作的時間復雜度是O(1)
2.數據結構簡單,對數據的操作也簡單。redis中常用數據結構是專門設計的。
3.單線程用于避免不必要的上下文切換和競爭條件。不存在多進程或多線程造成的切換消耗CPU。無需考慮各種鎖。沒有鎖和釋放鎖。操作。
4.使用多I/O復用模型,非阻塞IO。
5.底層模型不同,它們之間的底層實現方式以及與客戶端的通信應用協議不同。Redis 直接自己構建了 VM 機制,因為一般系統調用系統函數,會浪費一定的時間來移動和請求。
多 I/O 多路復用模型:多 I/O 多路復用模型使用 select、poll 和 epoll 來同時監控多個流的 I/O 事件。空閑時,當前線程將被阻塞。當一個或多個流發生 I/O 事件時,它們會從阻塞狀態中喚醒,所以程序會對所有的流進行一次輪詢(epoll 只輪詢那些真正發出事件的流),并且只按順序這種方式避免了很多無用的操作。
這里的“多路徑”是指多個網絡連接,“多路復用”是指多路復用同一個線程。**使用多I/O復用技術,可以讓單線程高效處理多個連接請求(盡量減少網絡IO的時間消耗),而且Redis對內存中數據的操作速度非常快,也就是說操作不會成為瓶頸影響 Redis 的性能,主要是因為以上幾點,Redis 具有很高的吞吐量。如果大家想了解更多相關知識,不妨來關注一下動力節點的Redis教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習