一、什么是緩存 Cache
為鹽池等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及鹽池網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、鹽池網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!Cache 一詞最早來自于CPU設(shè)計(jì)
當(dāng)CPU要讀取一個數(shù)據(jù)時,首先從CPU緩存中查找,找到就立即讀取并送給CPU處理;沒有找到,就從速率相對較慢的內(nèi)存中讀取并送給CPU處理,同時把這個數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。正是這樣的讀取機(jī)制使CPU讀取緩存的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說CPU下一次要讀取的數(shù)據(jù)90%都在CPU緩存中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時間,也使CPU讀取數(shù)據(jù)時基本無需等待??偟膩碚f,CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。
再到后來,出先了硬盤緩存,然后到應(yīng)用緩存,瀏覽器緩存,Web緩存,等等!
緩存為王??!
Spring Cache
Spring Cache是Spring針對Spring應(yīng)用,給出的一整套應(yīng)用緩存解決方案。
Spring Cache本身并不提供緩存實(shí)現(xiàn),而是通過統(tǒng)一的接口和代碼規(guī)范,配置、注解等使你可以在Spring應(yīng)用中使用各種Cache,而不用太關(guān)心Cache的細(xì)節(jié)。通過Spring Cache ,你可以方便的使用
各種緩存實(shí)現(xiàn),包括ConcurrentMap,Ehcache 2.x,JCache,Redis等。
Spring中Cache的定義
Sping 中關(guān)于緩存的定義,包括在接口 org.springframework.cache.Cache 中,
它主要提供了如下方法
// 根據(jù)指定key獲取值T get(Object key, Class type) // 將指定的值,根據(jù)相應(yīng)的key,保存到緩存中 void put(Object key, Object value); // 根據(jù)鍵,回收指定的值 void evict(Object key)