快取的介質一般是記憶體,所以讀寫速度很快。但如果快取中存放的資料量非常大時,也會用硬碟作為快取介質。快取的實現不僅僅要考慮儲存的介質,還要考慮到管理快取的併發訪問和快取資料的生命週期。
總體來說,現在cpu的l1快取的大小差別不大,主要差的就是l2,而l2的增加會使效能大幅度的提公升,但是相對來說成本增加的更大。一般來說我們買cpu時都會重視l2的大小,而沒有幾個在l1上做文章l1 cache(一級快取)是cpu第一層快取記憶體,分為資料快取和指令快取。內建的l1快取記憶體的容量和結構對cpu的效能影響較大,不過高速緩衝儲存器均由靜態ram組成,結構較複雜,在cpu管芯面積不能太大的情況下,l1級快取記憶體的容量不可能做得太大。一般伺服器cpu的l1快取的容量通常在32—4096kb。
l2 cache=二級快取
它是處理器內部的一些緩衝儲存器,其作用跟記憶體一樣。 它是怎麼出現的呢? 要上溯到上個世紀80年代,由於處理器的執行速度越來越快,慢慢地,處理器需要從記憶體中讀取資料的速度需求就越來越高了。然而記憶體的速度提公升速度卻很緩慢,而能高速讀寫資料的記憶體**又非常高昂,不能大量採用。從效能**比的角度出發,英特爾等處理器設計生產公司想到乙個辦法,就是用少量的高速記憶體和大量的低速記憶體結合使用,共同為處理器提供資料。這樣就兼顧了效能和使用成本的最優。而那些高速的記憶體因為是處於cpu和記憶體之間的位置,又是臨時存放資料的地方,所以就叫做緩衝儲存器了,簡稱「快取」。它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在快取區中,然後再搬到內部儲存區中長時間存放。貨物在這段區域中存放的時間很短,就是乙個臨時貨場。 最初快取只有一級,後來處理器速度又提公升了,一級快取不夠用了,於是就新增了二級快取。二級快取是比一級快取速度更慢,容量更大的記憶體,主要就是做一級快取和記憶體之間資料臨時交換的地方用。現在,為了適應速度更快的處理器p4ee,已經出現了**快取了,它的容量更大,速度相對二級快取也要慢一些,但是比記憶體可快多了。 快取的出現使得cpu處理器的執行效率得到了大幅度的提公升,這個區域中存放的都是cpu頻繁要使用的資料,所以快取越大處理器效率就越高,同時由於快取的物理結構比記憶體複雜很多,所以其成本也很高。
大量使用二級快取帶來的結果是處理器執行效率的提公升和成本**的大幅度不等比提公升。舉個例子,伺服器上用的至強處理器和普通的p4處理器其核心基本上是一樣的,就是二級快取不同。至強的二級快取是2mb~16mb,p4的二級快取是512kb,於是最便宜的至強也比最貴的p4貴,原因就在二級快取不同。
設定Hibernate的二級Cache
設定hibernate的二級cache需要分兩步進行 首先確認使用什麼資料併發策略,然後配置快取過期時間並設定cache提供器。有4種內建的hibernate資料併發衝突策略,代表資料庫隔離級別,如下 1 事務 transaction 僅在受管理的環境中可用。它保證可重讀的事務隔離級別,可以對讀 寫...
一級指標與二級指標
如下圖所示,整型指標xptr指向變數x的位址。原始碼 include int main 實現方法一如下圖所示,先為二級整型指標ptr分配空間,然後賦值。原始碼 include include int main printf n return 0 執行結果 實現方法二 如下圖所示,先為二級整型指標pt...
一級指標二級指標
例如 int p null int代表指標p指向的資料型別是int型,代表這是乙個指標變數,1 指標變數儲存的內容是指向的變數的位址 2 在使用sizeof判斷指標的位元組數時,在32位機器上為4個位元組,在64位機器上為了相容,仍然是四個位元組大小 3 小知識點,不同型別的指標除了指向的變數資料型...