教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

Spring框架的緩存體系

更新時(shí)間:2020年10月20日16時(shí)36分 來(lái)源:傳智播客 瀏覽次數(shù):

聲明式緩存

在Spring中使用緩存的方式是聲明式緩存, 只需要三步配置即可啟用。

緩存聲明

在需要緩存的方法上以注解的形式標(biāo)識(shí)。

緩存配置

顯式或隱式配置緩存數(shù)據(jù)存儲(chǔ)后端(Redis, ConcurrentHashMap等。

在@Configuration配置類(lèi)中加上@EnableCaching, 在應(yīng)用范圍內(nèi)啟用注解。

三級(jí)緩存策略定制

從上到下, 依次可以進(jìn)行三次緩存策略的設(shè)定, 每一層都會(huì)覆蓋上層的默認(rèn)設(shè)定:

全局范圍的定制: 配置在CacheManager和KeyGenerator中.

類(lèi)級(jí)別的定制: 使用@CacheConfig注解;

方法級(jí)別的定制。

Key生成策略

說(shuō)到底最終還是要以key-value的形式寫(xiě)到后端存儲(chǔ)中,那么Spring的Key生成策略就是值得考慮的, Spring默認(rèn)的KeyGenerator使用以下算法:

如果沒(méi)有參數(shù),返回SimpleKey.EMPTY

如果只有一個(gè)參數(shù),直接返回參數(shù)實(shí)例。

如果有多個(gè)參數(shù),那么返回一個(gè)包含所有參數(shù)的SimpleKey。


猜你喜歡:

什么是filter?filter是用來(lái)做什么的?

Hashmap與Hashtable有什么區(qū)別?

傳智播客Java培訓(xùn)課程

黑馬程序員Java高級(jí)軟件工程師課程

0 分享到:
和我們?cè)诰€(xiàn)交談!