redis為什么那么快

redis是單線程的處理命令的,還會達(dá)到每秒萬級別的處理能力呢?

原因有3點

1.純內(nèi)存訪問

redis將所有數(shù)據(jù)放在內(nèi)存中,而內(nèi)存的響應(yīng)時間很快,大約為100納秒

2.非阻塞I/O

Redis使用epoll作為I/O多路復(fù)用技術(shù)的實現(xiàn),不在網(wǎng)絡(luò)I/O上浪費過多的時間

3.單線程避免了線程切換和競態(tài)產(chǎn)生的消耗

單線程能帶來2個好處
單線程可以簡化數(shù)據(jù)結(jié)構(gòu)和算法的實現(xiàn)
避免線程切換和競態(tài)產(chǎn)生的消耗,鎖和線程切換通常是性能殺手。

單線程的問題

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 資料 ,最好的入門小冊子,可以先于一切文檔之前看,免費。 作者Antirez的博客,Antirez維護(hù)的R...
    JefferyLcm閱讀 17,319評論 1 51
  • 五種數(shù)據(jù)結(jié)構(gòu)簡介 Redis是使用C編寫的,內(nèi)部實現(xiàn)了一個struct結(jié)構(gòu)體redisObject對象,通過結(jié)構(gòu)體...
    彥幀閱讀 7,167評論 0 14
  • 前言:最近實習(xí)工作比較忙,業(yè)余時間在看付磊的《Redis開發(fā)與運維》,并結(jié)合以前的學(xué)習(xí)總結(jié),整理這一系列學(xué)習(xí)筆記,...
    Vechace閱讀 651評論 0 5
  • 一. 操作系統(tǒng)概念 操作系統(tǒng)位于底層硬件與應(yīng)用軟件之間的一層.工作方式: 向下管理硬件,向上提供接口.操作系統(tǒng)進(jìn)行...
    月亮是我踢彎得閱讀 6,157評論 3 28
  • 空曠的海景房間,透明的女孩飄在空中曬太陽。有一名青年小心翼翼走進(jìn)房間里。 “你好。”女孩打招呼。 “聽說,貴公司會...
    熔漿曲奇閱讀 570評論 1 2

友情鏈接更多精彩內(nèi)容