爲什麼 Redis 單線程還這麼快

1、redis是基於內存來存儲的,然而內存的讀取/響應市場大約爲100納秒,這一點也就是redis能打到每秒萬級的重要基礎。

2、非阻塞I/O,redis使用epoll作爲I/O多路複用技術的實現,再加上redis的自身的時間處理模型將epoll中的連接,讀寫,關閉都轉換爲事件,不在網絡I/O上浪費時間

3、單線程避免了線程切換和竟態產生的消耗。

單線程帶來的好處及問題
單線程帶來的好處:
1、單線程可以簡化數據結構和算法的實現

2、單線程避免了線程切換和竟態產生的消耗,對於服務端來說,鎖和線程切換通常是性能殺手。

單線程的問題:對於每個命令的執行時間是有要求的。(如果某個命令執行時間過長,就會造成其他命令的阻塞,對於redis這種高性能服務來說是致命的。所以redis是面向快速執行場景的數據庫)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章