redis完全基于內(nèi)存,絕大部分請(qǐng)求是純粹的內(nèi)存操作,非常快速.
數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,對(duì)數(shù)據(jù)操作也簡(jiǎn)單,redis中的數(shù)據(jù)結(jié)構(gòu)是專門(mén)進(jìn)行設(shè)計(jì)的
采用單線程模型, 避免了不必要的上下文切換和競(jìng)爭(zhēng)條件, 也不存在多線程或者多線程切換而消耗CPU, 不用考慮各種鎖的問(wèn)題, 不存在加鎖, 釋放鎖的操作, 沒(méi)有因?yàn)榭赡艹霈F(xiàn)死鎖而導(dǎo)致性能消耗
使用了多路IO復(fù)用模型,非阻塞IO
使用底層模型不同,它們之間底層實(shí)現(xiàn)方式及與客戶端之間的 通信的應(yīng)用協(xié)議不一樣,Redis直接構(gòu)建了自己的VM機(jī)制,因?yàn)橐话愕南到y(tǒng)調(diào)用系統(tǒng)函數(shù)的話,會(huì)浪費(fèi)一定的時(shí)間去移動(dòng)和請(qǐng)求