91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot caffine緩存的簡介及demo是怎樣的

發布時間:2021-09-29 17:52:04 來源:億速云 閱讀:502 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關springboot caffine緩存的簡介及demo是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Caffeine是使用Java8對Guava緩存的重寫版本,在Spring 5.0或者Spring Boot 2.0中將取代,基于LRU算法實現,支持多種緩存過期策略。
那么為什么這么好的東西需要被淘汰呢,如果對于本地Cache有過深入研究的人應該知道LRU算法基本可以滿足大部分的場景,但是很多人為了精益求精,基于LRU的算法,又在此基礎上提出了一系列更好的,更有效果的淘汰策略。比如有ARC,LIRS和W-TinyLFU等都提供了接近最理想的命中率,他們這些算法進一步提高了本地緩存的效率。

Caffeine配置說明:
initialCapacity=[integer]: 初始的緩存空間大小
maximumSize=[long]: 緩存的最大條數
maximumWeight=[long]: 緩存的最大權重
expireAfterAccess=[duration]: 最后一次寫入或訪問后經過固定時間過期
expireAfterWrite=[duration]: 最后一次寫入后經過固定時間過期
refreshAfterWrite=[duration]: 創建緩存或者最近一次更新緩存后經過固定的時間間隔,刷新緩存
weakKeys: 打開key的弱引用
weakValues:打開value的弱引用
softValues:打開value的軟引用
recordStats:開發統計功能
注意:
expireAfterWrite和expireAfterAccess同時存在時,以expireAfterWrite為準。
maximumSize和maximumWeight不可以同時使用
weakValues和softValues不可以同時使用
  •  

springbootApplication開啟緩存支持:@EnableCaching// 開啟緩存,需要顯示的指定

maven 引入:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
    <groupId>com.github.ben-manes.caffeine</groupId>
    <artifactId>caffeine</artifactId>
</dependency>
demo:
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.cache.caffeine.CaffeineCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Configuration
public class CacheConfig {

   private static final int DEFAULT_MAXSIZE = 10;
   private static final int DEFAULT_TTL = 15 * 60;

   /**
    * 個性化配置緩存
    */
   @Bean(name = "caffeineCache")
   public CaffeineCacheManager cacheManager() {
      CaffeineCacheManager cacheManager = new CaffeineCacheManager();
      Caffeine caffeine = Caffeine.newBuilder()
            //cache的初始容量值
            .initialCapacity(10)
            .expireAfterWrite(DEFAULT_TTL,TimeUnit.SECONDS)
            //maximumSize用來控制cache的最大緩存數量,maximumSize和maximumWeight不可以同時使用,
            .maximumSize(DEFAULT_MAXSIZE);
      cacheManager.setCaffeine(caffeine);
      cacheManager.setCacheNames(getNames());
      return cacheManager;
   }

   private static List<String> getNames(){
      List<String> names = new ArrayList<>(2);
      names.add("datainterface");
      return names;
   }

}
 

關于springboot caffine緩存的簡介及demo是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖南省| 沧源| 阿城市| 山丹县| 同德县| 棋牌| 哈尔滨市| 彭泽县| 慈溪市| 丹阳市| 山西省| 肇东市| 合阳县| 北碚区| 汤原县| 桑日县| 莱阳市| 高唐县| 吐鲁番市| 耒阳市| 昌吉市| 寿宁县| 崇左市| 张家川| 荔波县| 阿拉尔市| 邵武市| 罗田县| 赫章县| 西林县| 金阳县| 延安市| 定日县| 满洲里市| 巴东县| 清远市| 东乡县| 安图县| 金塔县| 饶平县| 邯郸县|