JS的運行機制到底是什麼? 先給大家來段代碼,看大家能否知道輸出的結果 console.log('1'); setTimeout(function() { console.log('2'); process.nextTick(function() { console.log('3'); }) new Prom
Node.js 之所以能夠在高併發場景下表現出色,核心原因並不在於“快”,而在於: 它以完全不同的方式對待 I/O 與執行流程。 理解 Node.js,關鍵在於理解兩件事: Node.js 的整體架構 事件循環(Event Loop)如何調度你的代碼 本文將從“宏觀架構”到“微觀執行流程”,徹底講清 Node.js 為什麼快、快在哪裏以及
大家好,我是小米,一個在互聯網研發裏滾了十來年、對技術既執着又好奇、寫代碼比寫週報開心的 31 歲男人。 今天這篇文章想和你聊聊一個面試“高頻炸裂”的問題——Redis 線程模型到底是怎麼回事? 別小看這個問題,它比你想象的“壞”多了。 有一次我去一家還算知名的互聯網公司面試,面試官是個戴着黑框眼鏡、看起來很斯文的小哥,但當他一開口,我立馬意識到這人不好
大家好,我是 31 歲的小米,一個寫代碼十幾年、踩坑踩成見坑就想講故事的技術 UP 主。今天這篇文章的靈感來自上週一個社招 Java 面試候選人。他坐在我對面,手心微微冒汗,卻盯着我一臉篤定地回答:“Redis 是單線程的,所以用不上多核 CPU,這就是 Redis 慢的原因。” 我愣了三秒。Redis 慢?Redis 覺得自己受到侮辱。 我當場把水杯放下,對
Redis 之所以快,主要歸功於以下幾個關鍵設計: 1. 基於內存存儲 數據主要存儲在內存中,讀寫操作直接操作內存,避免磁盤 I/O 的延遲。 內存的訪問速度比磁盤快幾個數量級(納秒 vs 毫秒級)。 2. 高效的數據結構 Redis 不僅支持簡單的鍵值對,還提供了經過優化的高效數據結構: