Redis - 爲什麼這麼快?

爲什麼快?

  1. 基於內存操作
  2. 單線程,避免不必要的上下文切換
  3. 多路複用 NIO 機制(epoll)

IO模型演變

image

image

image

image

Redis是單線程嗎?

無論是什麼版本,redis 都是單線程的。

在 6.x 高版本中,出現了 IO 多線程。但對於 redis 的使用沒用任何影響。

image

image

這麼做的原因:redis 計算是很快的,相對來說 IO 是瓶頸。

會出現併發問題嗎?

  • redis 能夠保障一個 socket 連接內的請求是順序讀取的
  • 無法保障客戶端與客戶端之前的請求讀取順序;業務上自行保障順序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章