快取的基礎概念解讀
快取記憶體(Cache,簡稱快取),原始意義是指訪問速度比一般隨機存取儲存器( RAM )快的一種 RAM ,通常它不像系統主存那樣使用 DRAM 技術,而使用昂貴但較快速的 SRAM 技術。Cache 是位於CPU和DRAM之間,通常由SRAM構成的規模小存取速度快的儲存器 。
目前,快取的概念已被擴充,不僅在CPU和主記憶體之間有Cache,而且在記憶體和硬碟之間也有Cache(磁碟快取),乃至在硬碟與網路之間也有某種意義上的Cache──稱為Internet臨時資料夾或網路內容快取等。凡是位於速度相差較大的兩種硬體之間,用於協調兩者資料傳輸速度差異的結構,均可稱之為Cache。
工作原理
1、 預讀取:當硬碟受到CPU指令控制開始讀取資料時,硬碟上的控制晶片會控制磁頭把正在讀取的簇的下一個或者幾個簇中的資料讀到快取中,當需要讀取下一個或者幾個簇中的資料的時候,硬碟則不需要再次讀取資料,直接把快取中的資料傳輸到記憶體中就可以了,由於快取的速率遠遠高於磁頭讀寫的速率,所以能夠達到明顯改善效能的目的。
2、 寫入:當硬碟接到寫入資料的指令之後,並不會馬上將資料寫入到碟片上,而是先暫時儲存在快取裡,然後傳送一個“資料已寫入”的訊號給系統,這時系統就會認為資料已經寫入,並繼續執行下面的工作,而硬碟則在空閒(不進行讀取或寫入的時候)時再將快取中的資料寫入到碟片上。
3、 臨時儲存:某些資料是會經常需要訪問的,像硬碟內部的快取(暫存器的一種)會將讀取比較頻繁的一些資料儲存在快取中,再次讀取時就可以直接從快取中直接傳輸。
作用意義
暫存資料處理結果,並提供下次訪問使用 。在很多場合,資料的處理或者資料獲取可能非常費時,當對這個資料的請求量很大時,頻繁的資料處理會消耗大量資源。快取的作用就是將這些來之不易的資料儲存起來,當再次請求此資料時,直接從快取中獲取而省略資料處理流程,從而降低資源的消耗提高響應速度。
想要了解更多?請移步至鐳速雲傳官網(raysync,cloud),或者關注【鐳速】公眾號哦~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69925049/viewspace-2656528/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 快取穿透、快取擊穿、快取雪崩概念及解決方案快取穿透
- 快取基礎整理快取
- 分散式快取 - 概念解釋分散式快取
- 5分鐘瞭解快取的概念快取
- 快取內功心法:快取基礎整理快取
- 分散式快取基礎教程分散式快取
- 快取問題(一) 快取穿透、快取雪崩、快取併發 核心概念快取穿透
- Spring Boot基礎教程:EhCache快取的使用Spring Boot快取
- 解讀CPU快取,它們如何工作的?快取
- 一文讀懂快取穿透、快取擊穿、快取雪崩及其解決方案快取穿透
- SpringBoot2 基礎案例(13):基於Cache註解,管理Redis快取Spring BootRedis快取
- golang的基礎概念Golang
- Util應用框架基礎(七) - 快取框架快取
- Spring Boot + Redis 快取方案深度解讀Spring BootRedis快取
- Masa Framework原始碼解讀-02快取模組(分散式快取進階之多級快取)Framework原始碼快取分散式
- MySQL基礎概念MySql
- NestJS 基礎概念JS
- Vue 基礎概念Vue
- HTTP基礎概念HTTP
- JVM 基礎概念JVM
- Vue基礎概念Vue
- python基礎概念Python
- Elaticsearch基礎概念
- Spring Boot 2.x基礎教程:EhCache快取的使用Spring Boot快取
- 配運基礎資料快取瘦身實踐快取
- Python基礎知識之檔案的讀取操作Python
- kettle基礎概念的學習
- vuex 的概念和基礎使用Vue
- Go基礎系列:讀取標準輸入Go
- ZooKeeper 概念與基礎
- Spring 5 基礎概念Spring
- MySQL(一)基礎概念MySql
- 1章 基礎概念
- Elastic Stack基礎概念AST
- JavaScript WebGL 基礎概念JavaScriptWeb
- java 基礎概念 (1)Java
- 4、kubernetes基礎概念
- 快取穿透、快取擊穿、快取雪崩的場景以及解決方法快取穿透