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被用於設置過期策略

存儲方式

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

舉例:redis

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

舉例:JVM本地緩存guava

Spring Cache

基本原理

核心內容

緩存聲明

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

@Cacheable:

@Cacheable配置數據對象

@CacheEvict:

@CacheEvict刪除緩存數據

@CachePut:

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

@Caching:

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

@CacheConfig:

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章