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 之上;