Redis 雖然以單進(jìn)程單線程模型進(jìn)行操作,但是它的性能卻十分優(yōu)秀伸刃』牙總結(jié)來說,主要是因?yàn)椋?/p>
絕大部分請求是純粹的內(nèi)存操作捧颅;
采用單線程,避免了不必要的上下文切換和競爭條件较雕;
內(nèi)部實(shí)現(xiàn)采用非阻塞 IO 和 epoll碉哑,基于 epoll 自己實(shí)現(xiàn)的簡單的事件框架挚币。epoll 中的讀、寫扣典、關(guān)閉妆毕、連接都轉(zhuǎn)化成了事件,然后利用 epoll 的多路復(fù)用特性贮尖,絕不在 IO 上浪費(fèi)一點(diǎn)時(shí)間笛粘。