Spring Cache 特點(diǎn)
- 通過(guò)少量的配置注解就可以使得代碼支持緩存;
- 支持開箱即用,不需要再單獨(dú)安裝第三方緩存;
- 支持 Spring Express Language;
- 支持 AspectJ;
- 支持自定義key 和自定義緩存的管理者,具有相當(dāng)?shù)撵`活性和擴(kuò)展性;
Spring Cache 核心思想
- 當(dāng)我們調(diào)用一個(gè)緩存方法時(shí),會(huì)把該方法參數(shù)和返回結(jié)果作為一個(gè)鍵值對(duì)存放在緩存中,等下次利用同樣的參數(shù)來(lái)調(diào)用方法時(shí),將不再執(zhí)行該方法,而是直接從緩存中獲取結(jié)果進(jìn)行返回。所以在使用 Spring Cache 的時(shí)候,我們要保證,我們緩存的方法,對(duì)于相同的方法參數(shù)要有相同的返回結(jié)果;
Spring Cache 最主要的注解
- @EnableCache:開啟緩存功能;
- @Cacheable(value = "accountCache"):定義緩存,用于觸發(fā)緩存,標(biāo)記在方法上,凡是調(diào)用這個(gè)方法后,方法的返回值就會(huì)存儲(chǔ)在名為 accountCache 的緩存中;
- @CachePut:定義更新緩存,觸發(fā)緩存更新;
- @CacheEvict:定義清除緩存,觸發(fā)緩存清除;
- @Caching:組合定義多種緩存功能;
- @CacheConfig:定義公共設(shè)置,位于 class 之上;