Redis為什么可以支持那么大的並發訪問量?為什么redis沒有單點並發瓶頸?


一是redis使用內存

而是redis使用多路復用的IO模型:

現代的UNIX操作系統提供了select/poll/kqueue/epoll這樣的系統調用,這些系統調用的功能是:你告知我一批套接字,當這些套接字的可讀或可寫事件發生時,我通知你這些事件信息。

epoll的優點

  1. epoll 沒有最大並發連接的限制,上限是最大可以打開文件的數目,這個數字一般遠大於 2048, 一般來說這個數目和系統內存關系很大 ,具體數目可以 cat /proc/sys/fs/file-max 察看。

  2. 效率提升, Epoll 最大的優點就在於它只管你“活躍”的連接 ,而跟連接總數無關,因此在實際的網絡環境中, Epoll 的效率就會遠遠高於 select 和 poll 。

  3. 內存拷貝, Epoll 在這點上使用了“共享內存 ”,這個內存拷貝也省略了



作者:tafeng
鏈接:https://www.jianshu.com/p/78cedbd8591d
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM