欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot加入Guava Cache实现本地缓存代码实例

程序员文章站 2023-11-22 12:10:34
这篇文章主要介绍了springboot加入guava cache实现本地缓存代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

这篇文章主要介绍了springboot加入guava cache实现本地缓存代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在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);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。