成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Spring Framework 參考文檔(理解緩存抽象)

0xE7A38A / 2603人閱讀

摘要:理解緩存抽象緩存與緩沖區(qū)術(shù)語(yǔ)緩沖區(qū)和緩存往往可以互換使用,但是請(qǐng)注意,它們代表不同的東西。這個(gè)抽象是由和接口實(shí)現(xiàn)。要使用緩存抽象,你需要考慮兩個(gè)方面緩存聲明標(biāo)識(shí)需要緩存的方法及其策略。緩存配置存儲(chǔ)數(shù)據(jù)并從中讀取數(shù)據(jù)的后備緩存。

理解緩存抽象
緩存與緩沖區(qū)

術(shù)語(yǔ)“緩沖區(qū)”和“緩存”往往可以互換使用,但是請(qǐng)注意,它們代表不同的東西。傳統(tǒng)上,緩沖區(qū)用作數(shù)據(jù)在快實(shí)體和慢實(shí)體之間的中間臨時(shí)存儲(chǔ),由于一方必須等待另一方(這會(huì)影響性能),緩沖區(qū)允許整個(gè)數(shù)據(jù)塊(而不是小塊)同時(shí)移動(dòng),從而緩解了這種情況。數(shù)據(jù)只從緩沖區(qū)寫(xiě)入和讀取一次,此外,至少有一方知道緩沖區(qū)是可見(jiàn)的。

另一方面,緩存根據(jù)定義是隱藏的,并且任何一方都不知道緩存的發(fā)生,它還提高了性能,但是通過(guò)讓相同的數(shù)據(jù)以快速方式多次讀取來(lái)提高性能。

你可以在這里找到關(guān)于緩沖區(qū)和緩存之間差異的進(jìn)一步解釋。

緩存抽象的核心是將緩存應(yīng)用于Java方法,從而根據(jù)緩存中可用的信息減少執(zhí)行的次數(shù),也就是說(shuō),每次調(diào)用目標(biāo)方法時(shí),抽象都會(huì)應(yīng)用緩存行為,檢查給定參數(shù)的方法是否已經(jīng)執(zhí)行。如果已執(zhí)行,則返回緩存的結(jié)果,而不必執(zhí)行實(shí)際的方法,如果方法尚未執(zhí)行,則執(zhí)行該方法,并緩存結(jié)果并返回給用戶,以便在下次調(diào)用該方法時(shí)返回緩存的結(jié)果。這樣,對(duì)于給定的一組參數(shù),昂貴的方法(無(wú)論是CPU綁定的還是IO綁定的)只能執(zhí)行一次,并且結(jié)果可以重用,而不必實(shí)際再次執(zhí)行該方法,緩存邏輯被透明地應(yīng)用,沒(méi)有任何對(duì)調(diào)用程序的干擾。

這種方法只適用于保證為給定輸入(或參數(shù))返回相同輸出(結(jié)果)的方法,無(wú)論執(zhí)行了多少次。

緩存抽象提供了其他與緩存相關(guān)的操作,比如更新緩存內(nèi)容或刪除一個(gè)或所有條目的能力,如果緩存處理的數(shù)據(jù)在應(yīng)用程序運(yùn)行過(guò)程中可能發(fā)生更改,那么這些方法非常有用。

與其他在Spring Framework中的服務(wù),緩存服務(wù)是一個(gè)抽象(不是緩存實(shí)現(xiàn)),需要使用實(shí)際的存儲(chǔ)來(lái)存儲(chǔ)緩存數(shù)據(jù) — 也就是說(shuō),抽象使你不必寫(xiě)緩存邏輯但不提供實(shí)際的數(shù)據(jù)存儲(chǔ)。這個(gè)抽象是由org.springframework.cache.Cacheorg.springframework.cache.CacheManager接口實(shí)現(xiàn)。

Spring提供了該抽象的一些實(shí)現(xiàn):JDK 基于緩存的java.util.concurrent.ConcurrentMap、Ehcache 2.x、Gemfire緩存、Caffeine和JSR-107兼容緩存(例如Ehcache 3.x)。

緩存抽象對(duì)多線程和多進(jìn)程環(huán)境沒(méi)有特殊的處理,因?yàn)檫@些特性是由緩存實(shí)現(xiàn)來(lái)處理的。

如果你有一個(gè)多進(jìn)程環(huán)境(即部署在多個(gè)節(jié)點(diǎn)上的應(yīng)用程序),則需要相應(yīng)地配置緩存提供程序,根據(jù)你的用例,在多個(gè)節(jié)點(diǎn)上復(fù)制相同的數(shù)據(jù)就足夠了,但是,如果在應(yīng)用程序過(guò)程中更改數(shù)據(jù),則可能需要啟用其他傳播機(jī)制。

緩存特定的項(xiàng)與通過(guò)編程緩存交互找到的典型get-if-not-found-then- proceed-and-put-eventually代碼塊是直接等價(jià)的,沒(méi)有應(yīng)用鎖,幾個(gè)線程可能試圖同時(shí)加載相同的項(xiàng),這同樣適用于驅(qū)逐。如果多個(gè)線程試圖同時(shí)更新或驅(qū)逐數(shù)據(jù),則可以使用陳舊數(shù)據(jù),某些緩存提供程序在該領(lǐng)域提供高級(jí)特性,有關(guān)詳細(xì)信息,請(qǐng)參閱緩存提供程序的文檔。

要使用緩存抽象,你需要考慮兩個(gè)方面:

緩存聲明:標(biāo)識(shí)需要緩存的方法及其策略。

緩存配置:存儲(chǔ)數(shù)據(jù)并從中讀取數(shù)據(jù)的后備緩存。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/76065.html

相關(guān)文章

  • Spring Framework 參考文檔(JCache(JSR-107)注解)

    摘要:注解從版開(kāi)始,的緩存抽象完全支持標(biāo)準(zhǔn)注解和以及和。使用方法調(diào)用的結(jié)果更新緩存,要求將其作為使用注解的參數(shù)傳遞給它由于這種差異,允許在實(shí)際方法調(diào)用之前或之后更新緩存。非常相似,當(dāng)方法調(diào)用導(dǎo)致異常時(shí),支持條件驅(qū)逐。 JCache(JSR-107)注解 從4.1版開(kāi)始,Spring的緩存抽象完全支持JCache標(biāo)準(zhǔn)注解:@CacheResult、@CachePut、@CacheRemove和...

    fengxiuping 評(píng)論0 收藏0
  • Spring Framework 參考文檔(聲明式基于注解的緩存

    摘要:聲明式基于注解的緩存對(duì)于緩存聲明,的緩存抽象提供了一組注解觸發(fā)緩存人口。重新組合要應(yīng)用于方法的多個(gè)緩存操作。雖然在大多數(shù)情況下,只聲明一個(gè)緩存,但是注解允許指定多個(gè)名稱,以便使用多個(gè)緩存。 聲明式基于注解的緩存 對(duì)于緩存聲明,Spring的緩存抽象提供了一組Java注解: @Cacheable:觸發(fā)緩存人口。 @CacheEvict:觸發(fā)緩存驅(qū)逐。 @CachePut:在不影響...

    makeFoxPlay 評(píng)論0 收藏0
  • Spring Framework 參考文檔(容器概述)

    摘要:容器概述接口表示容器,負(fù)責(zé)實(shí)例化配置和組裝。基于的元數(shù)據(jù)不是惟一允許的配置元數(shù)據(jù)形式,容器本身與實(shí)際編寫(xiě)配置元數(shù)據(jù)的格式完全解耦,現(xiàn)在,許多開(kāi)發(fā)人員為他們的應(yīng)用程序選擇基于的配置。 容器概述 org.springframework.context.ApplicationContext接口表示Spring IoC容器,負(fù)責(zé)實(shí)例化、配置和組裝bean。容器通過(guò)讀取配置元數(shù)據(jù)獲取關(guān)于要實(shí)例化...

    huashiou 評(píng)論0 收藏0
  • Spring之旅第二站:bean、新特性。。。

    摘要:除了,還簡(jiǎn)單介紹了對(duì)的支持,可以幫助應(yīng)用將散落在各處的邏輯匯集于一處切面。當(dāng)裝配的時(shí)候,這些切面能夠運(yùn)行期編織起來(lái),這樣就能呢個(gè)非常有效的賦予新功能。 第1章 Spring之旅 說(shuō)明 1、本文參考了《Spring 實(shí)戰(zhàn)》重點(diǎn)內(nèi)容,參考了GitHub上的代碼 2、每個(gè)人的學(xué)習(xí)方式不一樣,但目的是一樣的,活學(xué)活用。最近一直在聽(tīng)《我們不一樣》 3、本文只為記錄作為以后參考,要想真正領(lǐng)悟Sp...

    luodongseu 評(píng)論0 收藏0
  • Spring Framework 參考文檔(概述)

    摘要:除此之外,還為不同的應(yīng)用程序體系結(jié)構(gòu)提供了基礎(chǔ)支持,包括消息傳遞事務(wù)數(shù)據(jù)和持久性以及,它還包括基于的框架,以及與之并行的反應(yīng)性框架。還支持依賴項(xiàng)注入和公共注解規(guī)范,應(yīng)用程序開(kāi)發(fā)人員可以選擇使用這些規(guī)范,而不是提供的特定于的機(jī)制。 概述 Spring使創(chuàng)建Java企業(yè)應(yīng)用程序變得很容易,它提供了在企業(yè)環(huán)境中使用Java語(yǔ)言所需要的一切,支持Groovy和Kotlin作為JVM上的替代語(yǔ)言...

    silencezwm 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<