前端人員要掌握什麼技術 常見的幾種快取是什麼

2021-09-27 04:16:05 字數 1131 閱讀 1589

想要掌握快取,你需要了解兩個重要的運用方式:預讀取和延遲寫。

預讀取就是預先讀取將要載入的資料,也可以稱作「快取預熱」。就是在系統對外提供服務之前,先將硬碟中的一部分資料載入到記憶體中,然後再對外提供服務。

延遲寫是指通過快取機制來加速「寫」的過程。是預先將需要寫入到磁碟或者資料庫的資料,先暫時寫入到記憶體,然後就返回成功。再定時將記憶體中的資料批量寫入到磁碟。

簡單來說,預讀取是在資料出口加了一道前置的緩衝區。而延遲寫就是在資料入口後面加了一道後置的緩衝區。

接下來就是web前端入門課程的重頭戲——常見的快取種類。

瀏覽器快取

這是離使用者最近的可以作為快取的地方,而且借助的是使用者的「資源」(快取的資料在使用者的終端裝置上),價效比可謂最好,讓使用者幫你分擔壓力。瀏覽器快取是在於使用者側的快取點,所以我們對其的掌控力就差很多,在沒有發起新請求的情況下,你無法主動去更新資料。

cdn快取

提供cdn服務的服務商將資料分發到這些遍布各地伺服器上作為快取,讓使用者訪問就近的伺服器上的快取資料,就可以起到壓力分攤和加速效果。這在toc型別的系統上運用,效果格外顯著。不過由於節點眾多,更新快取資料比較緩慢,一般至少是分鐘級別。所以一般僅適用於不經常變動的靜態資料。

閘道器(**)快取

常用的閘道器(**)快取有varnish、squid、ngnix。一般情況下,簡單的快取運用場景用nginx即可,因為大部分時候我們會用它來做負載均衡,能少引入乙個技術就少乙份複雜度。如果是大量的小檔案可以使用varnish,而squid則相對大而全,運用成本也更高一些。

程序內快取

將一些資料快取在站點,或者服務的程序內,這就是程序內快取。程序內快取的實現載體,最簡單的,可以是乙個帶鎖的map。也可以使用第三方庫,例如leveldb。程序內快取的好處是,資料讀取不再需要訪問後端,例如資料庫。

程序外快取

即我們常用的各種分布式快取,redis、memcached之類。程序外快取相比程序內快取會慢些,但儲存空間可以橫向擴充套件,不受限制。

資料庫快取

資料庫快取是資料庫的內部機制,一般都會給出設定快取空間大小的配置來讓你進行干預。資料庫快取也叫記憶體殺手,基本上你給多少記憶體就能吃多少。

一名優秀的web前端工程師,一定要基礎紮實,具有良好的規範開發習慣。如果你想從事web前端行業,可以選擇專業的學習方式,讓自己更快入門這個行業。

雲計算人員要掌握什麼 學好Docker有哪些技巧

雲計算人員要掌握什麼?學好docker有哪些技巧?docker是輕量級容器管理引擎,它的出現為軟體開發和雲計算平台之間建立了橋梁,因此雲計算人才必須要學習docker容器技術。下面就給大家介紹一些docker容器基礎操作及學習技巧。docker容器常見操作 docker exec it contai...

技術人員為什麼要堅持寫作?

距離上次寫文章好像已經是乙個月前的事情了,這段時間我去幹嘛呢,我開啟了乙個程式設計師的生活,除了公司專案趕進度,平時還要安排看書計畫。看完書之後,筆記整理和行動總是發現不到位。回到家也不想繼續開啟電腦,當然還是很清晰的認識自己的拖延症很嚴重,一直拖到現在,之前誇下的海口一直沒有兌現,在這裡做乙個反思...

技術人員為什麼要搭建個人部落格?

這個問題的答案有很多種,但是我感覺最重要的三點是 在技術成長的道路中,你肯定會遇到各種各樣的問題,為了保證下次遇到同樣的問題不會重複浪費時間,就可以把把這些問題記錄了下來,防止再次碰到同樣的問題還是一頭霧水,這樣太過浪費時間了。現在有各種各樣的技術社群,常用的可能就是 csdn 51cto 開源中國...