首頁  >  文章  >  資料庫  >  為什麼說單線程的Redis比較快

為什麼說單線程的Redis比較快

WBOY
WBOY轉載
2023-05-27 15:49:121184瀏覽

單線程的Redis 為什麼這麼快?

Redis 有多快?官方給出的答案是讀寫速度10萬/秒,如果說這是在單線程情況下跑出來的成績,你會不會驚訝?為什麼單線程的Redis  速度這麼快?原因有以下幾點:

  • 純內存操作:Redis 是完全基於內存的,所以讀寫效率非常的高,當然Redis 有持久化操作,在持久化操作是都是fork 子程序和利用Linux  系統的頁快取技術來完成,不會影響Redis 的效能。

  • 單執行緒操作:單執行緒並不是壞事,單執行緒可以避免了頻繁的上下文切換,頻繁的上下文切換也會影響效能的。

  • 合理且有效率的資料結構

  • 採用了非阻塞I/O 多重化機制:多路I/O復用模型是利用select、poll、epoll 可以同時監察多個流的I/O  事件的能力,在空閒的時候,會把當前線程阻塞掉,當有一個或多個流有I/O 事件時,就從阻塞態中喚醒,於是程式就會輪詢一遍所有的流(epoll  是只輪詢那些真正發出了事件的流),並且只依次順序的處理就緒的流,這種做法就避免了大量的無用操作。

#

以上是為什麼說單線程的Redis比較快的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除