CaffeineJava 8 高性能緩存庫(kù)
Caffeine 是基于Java 8的高性能,接近最佳的緩存庫(kù)。
Caffeine使用Google Guava啟發(fā)的API提供內(nèi)存緩存。 改進(jìn)取決于您設(shè)計(jì)Guava緩存和ConcurrentLinkedHashMap的體驗(yàn)。
LoadingCache<Key, Graph> graphs = Caffeine.newBuilder() .maximumSize(10_000) .expireAfterWrite(5, TimeUnit.MINUTES) .refreshAfterWrite(1, TimeUnit.MINUTES) .build(key -> createExpensiveGraph(key));
功能一覽
Caffeine提供了靈活的構(gòu)造來(lái)創(chuàng)建具有以下功能組合的緩存:
- 自動(dòng)將條目自動(dòng)加載到緩存中,可以選擇異步加載
- 基于頻率和新近度超過(guò)最大值時(shí)基于大小的逐出
- 自上次訪問(wèn)或上次寫入以來(lái)測(cè)得的基于時(shí)間的條目到期
- 發(fā)生第一個(gè)陳舊的條目請(qǐng)求時(shí),異步刷新
- 鍵自動(dòng)包裝在弱引用中
- 值自動(dòng)包裝在弱引用或軟引用中
- 逐出(或以其他方式刪除)條目的通知
- 寫入傳播到外部資源
- 緩存訪問(wèn)統(tǒng)計(jì)信息的累積
評(píng)論
圖片
表情
