java cache相關知識

Java Cache

基本原理

核心內容

java cache API的5個核心接口:CachingProvider,CachingManager,Cache,Entry,ExpiryPolicy
CachingProvider:
緩存提供者定義創建,配置,得到,管理,控制一個或者多個CacheManager的機制。一個應用程序能使用一個或者多個CacheProvider在運行時。
CachingManager:
緩存管理者定義創建,配置,得到,管理,控制一個或者多個惟一名稱的Caches,在CacheManager的上下文中。一個CacheManager被一個CachingProvider擁有。
Cache:
Cache有點像一個Map的數據結構,准許臨時存儲基於K-V結構的數據,例如像:java.util.Map的數據結構。一個Cache被一個CacheManger擁有。
Entry:
Entry是有緩存存儲的單個鍵值對元素
ExpiryPolicy:
ExpiryPolicy被用於設置過時策略java

存儲方式

值存儲:緩存將拷貝應用提供的keys和values,緩存中存儲的是一個拷貝副本,存儲在緩存中的數據不會由於後續應用中修改keys和values發生改變,數據必須實現序列化。

舉例:redisredis

引用存儲:緩存中存儲的是應用提供的keys和values的引用值,應用的keys和values值發生改變後,引用指向的值也會發生改變

舉例:JVM本地緩存guavaspring

Spring Cache

基本原理

核心內容

緩存聲明

spring緩存聲明的註解:@Cacheable,@CacheEvict,@CachePut,@Caching,@CacheConfig緩存

@Cacheable:數據結構

@Cacheable配置數據對象ide

@CacheEvict:spa

@CacheEvict刪除緩存數據對象

@CachePut:接口

@CachePut在不影響方法執行的狀況下,更新緩存信息原理

@Caching:

@Caching將應用與方法的多個緩存從新分組

@CacheConfig:

@CacheConfig共享一些常見的緩存配置,提供類級別的配置,能夠共享緩存名稱  

相關文章
相關標籤/搜索