Spring引入了Cache的支持,其使用方法類似於Spring對事務的支持。Spring Cache是作用於方法上的,其核心思想是,當我們調用一個緩存方法時,把該方法參數和返回結果作為一個鍵值對存放在緩存中,等到下次利用同樣的參數來調用該方法時不再執行該方法,而是直接從緩存獲取結果返回,所以使用Spring Cache的時候保證我們緩存的方法對於相同的方法參數要有相同的返回結果。
接下來介紹兩種Spring基於注解對Cache支持的兩種注解
一·@Cacheable
key:自定義
形如,#參數名或#p參數index
value:必須指定返回值放在哪個Cache上,可以是一個Cache,可以是多個Cache,當多個Cache時,其是一個數組
condition:結果進行緩存的條件
二·@CacheEvit:標記在需要清除緩存元素方法或類上
一中的三個屬性在二中同樣適用。
allEntries:boolean類型 是否需要清除緩存中所有元素
beforeInvocation:清除操作默認是在對應方法成功執行后觸發的,即方法因為拋出異常未能成功返回也不會出發該操作