首頁 >Java >java教程 >SpringBoot怎麼加入Guava Cache實現本地緩存

SpringBoot怎麼加入Guava Cache實現本地緩存

王林
王林轉載
2023-05-12 22:22:121324瀏覽

在pom.xml中加入guava依賴

   <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>18.0</version>
   </dependency>

建立一個CacheService,方便呼叫

public interface CacheService {
  //存
  void setCommonCache(String key,Object value);
  //取
  Object getCommonCache(String key);
}

其實作類別

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.wu.service.CacheService;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.concurrent.TimeUnit;
@Service
public class CacheServiceImpl implements CacheService {
  private Cache<String,Object> commonCache=null;
  @PostConstruct//代理此bean时会首先执行该初始化方法
  public void init(){
    commonCache= CacheBuilder.newBuilder()
        //设置缓存容器的初始化容量为10(可以存10个键值对)
        .initialCapacity(10)
        //最大缓存容量是100,超过100后会安装LRU策略-最近最少使用,具体百度-移除缓存项
        .maximumSize(100)
        //设置写入缓存后1分钟后过期
        .expireAfterWrite(60, TimeUnit.SECONDS).build();
  }
  @Override
  public void setCommonCache(String key, Object value) {
    commonCache.put(key,value);
  }
  @Override
  public Object getCommonCache(String key) {
    return commonCache.getIfPresent(key);
  }
}

以上是SpringBoot怎麼加入Guava Cache實現本地緩存的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除