回覆列表
  • 1 # 開心猿

    通常來講,單執行緒處理能力要比多執行緒差,但是redis為什麼就快了,這主要得益於以下幾個原因:

    1.純記憶體訪問,redis將所有資料放在記憶體中,記憶體的響應時長大約為100納秒,這是redis達到每秒萬級別的訪問的重要基礎。

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

    3.單執行緒避免了執行緒切換和競態產生的消耗。

    單執行緒的好處:

    1.簡化資料結構和演算法的實現。

    2.避免了執行緒切換和競態產生的消耗,對於服務端來說,鎖和執行緒切換通常是效能殺手。

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

  • 中秋節和大豐收的關聯?
  • 給孩子打蟲需要在哪個季節打比較好?