為什麼 Redis 如此快?

沒看 ByteByteGo 的影片之前,我只知道 redis 憑藉著 in-memory database 的優勢,所以非常快,但不知道它原來是單執行緒⋯⋯。

簡單來說, redis 除了 in-memory database 的優勢之外,它還用了 I/O multiplexing 的技術,讓執行緒可以同時等待多個連線,等到某個連線可以讀寫資料時,再去執行相關工作,否則先去處理其他事務,也就是使用所謂的非阻塞 I/O (non-blocking I/0),最後則是使用有效率的資料結構儲存資料,其中就有面試比較高機率會問到的 HashTable, LinkedList 😆

(至於 SkipList 則是一個很有趣的演算法,有機會可以單獨寫一篇來聊聊XD)

以下片長只有 3 分鐘,蠻值得一看的:

https://www.youtube.com/watch?v=5TRFpFBccQM

追蹤新知

看完這篇文章了嗎?還意猶未盡的話,追蹤粉絲專頁吧!

我們每天至少分享 1 篇文章/新聞或者實用的軟體/工具,讓你輕鬆增廣見聞提升專業能力!如果你喜歡我們的文章,或是想了解更多特定主題的教學,歡迎到我們的粉絲專頁按讚、留言讓我們知道。你的鼓勵,是我們的原力!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!