天天看點

面試題:單線程redis還這麼快

為什麼單線程redis還這麼快

  • 絕大部分請求時純粹的記憶體操作,非常快速10W+
  • 采用單線程,避免了不必要的上下文切換和競争條件,原子性保證關鍵。其中單線程指的是網絡請求子產品使用了一個線程,即一個線程處理所有網絡請求,其他子產品還是用了多線程,例如持久化子產品。
  • 非阻塞IO多路複用,這樣提高了redis的吞吐量。多路指的是多個網絡連接配接,複用指的是同一個線程,采用多路複用可以讓單個線程高效的處理多個連接配接請求。
  • Redis的瓶頸最有可能是機器記憶體的大小或者網絡帶寬,還有些操作不當造成的堵塞用于記錄執行時間超過給定時間的指令請求,可以用來監視和優化查詢速度

繼續閱讀