redis單執行緒模式分析

來源:互聯網
上載者:User

標籤:

redis原理

redis採用自己實現的事件分離器,效率比較高,內部採用非阻塞的執行方式,吞吐能力比較大。

不過,因為一般的記憶體操作都是簡單存取操作,線程佔用時間相對較短,主要問題在io上,因此,redis這種模型是合適的,但是如果某一個線程出現問題導致線程佔用很長時間,那麼reids的單執行緒模式效率可想而知.


引自網路:

總體來說快速的原因如下: 
1)絕大部分請求是純粹的記憶體操作(非常快速) 
2)採用單線程,避免了不必要的環境切換和競爭條件 
3)非阻塞IO 
內部實現採用epoll,採用了epoll+自己實現的簡單的事件架構。epoll中的讀、寫、關閉、串連都轉化成了事件,然後利用epoll的多工特性,絕不在io上浪費一點時間 

這3個條件不是相互獨立的,特別是第一條,如果請求都是耗時的,採用單線程輸送量及效能可想而知了。應該說redis為特殊的情境選擇了合適的技術方案。


 關於安全執行緒問題

redis實際上是採用了線程封閉的觀念,把任務封閉在一個線程,自然避免了安全執行緒問題,不過對於需要依賴多個redis操作的複合操作來說,依然需要鎖,而且有可能是分布式鎖

redis單執行緒模式分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.