首先,我們要注意,只有使用public定義的方法或者類轿秧,可以被Spring Cache緩存。
當在一個類上使用注解時咨堤,該類中的每個公共方法的返回值淤刃,都將被緩存到指定的緩存項中,或者從中移除吱型。
而緩存的本質,是鍵值對的集合陨仅。
在Spring Boot框架下津滞,集成SpringCache,僅需要以下三步:
1灼伤、加入依賴包:compilegroup:'org.springframework.boot',name:'spring-boot-starter-cache',version:'2.0.0.RELEASE'
2触徐、在程序入口,添加開啟SpringCache緩存的注解:@EnableCaching
3狐赡、在需要緩存的DAO層的方法中撞鹉,添加@CacheCacheable注解,并指定緩存的key
考慮下面的getUser方法颖侄,了解@Cacheable的深入使用
@Cacheable(cacheName=“cn”, key="#user.id")
public User getUser(User user,boolean checkLogout)
上述方法鸟雏,Spring Cache緩存了一個key為方法參數(shù):user+checkLogout,value為方法返回值:User览祖,名字為:cn 的緩存孝鹊。
入?yún)⒅杏幸粋€boolean值用于區(qū)分用戶是否已經(jīng)注銷。假設此時展蒂,并不想將這個boolean值作為key的一部分又活。那么苔咪,可以根據(jù)key屬性,使用SpEL表達式柳骄,指定將User對象的id域作為cn緩存的key团赏,value依舊是方法的返回值:User。
我們一起來舉個栗子吧:
首先是配置Spring Cache耐薯,三個步驟: