SpringBoot项目使用guava构建本地缓存

一、项目新建:

新建Spring Starter Project会自动引入Spring框架所需的依赖,勾选Web、数据库等相关依赖,会将自动生成pom文件并下载所需jar包。

注意:

groupID:一般分两级,例如org.apache, ORG为所在区域类似的有com,apache为公司名

artifactID:项目id,例如tomcat

package name:为启动类所在的包

 

二、引入依赖

pom文件中加入guava依赖

       <dependency>

             <groupId>com.google.guava</groupId>

             <artifactId>guava</artifactId>

             <version>25.1-jre</version>

         </dependency>

三、编写本地缓存类

public class GuavaCache {

     //创建静态缓存

     private static volatile Cache<String,String>stringCacheForTest;

     //单例模式获取缓存

     public static Cache<String,String>getStringCache(){

         if(stringCacheForTest==null) {

              synchronized(GuavaCache.class) {

                   if(stringCacheForTest==null) {

                       //通过CacheBuilderbuild方法创建缓存

                       stringCacheForTest= CacheBuilder.newBuilder()

                                .maximumSize(512)//根据系统内存大小设置缓存存储数量

                                .expireAfterAccess(60, TimeUnit.SECONDS)//设置缓存失效时间

                                .build();

                   }

              }

         }

         return stringCacheForTest;

     }

}

四、使用缓存

@Service(StringCacheService.BEAN_ID)

public class StringCacheServiceImpl implements StringCacheService{

      @Override

      public void setCache(String s) {

           Cache<String,String>stringCache = GuavaCache.getStringCache();//获取缓存

           stringCache.put(s, s);

           System.out.println("将字符串存入本地缓存");

      }

      @Override

      public String getStringFromCache(String s) {

           Cache<String,String>stringCache = GuavaCache.getStringCache();//获取缓存

           String result = stringCache.getIfPresent(s);

           if(StringUtils.isEmpty(result)) {

                 System.out.println("本地缓存不存在该字符串");

           }else {

                 System.out.println("从本地缓存中取出该字符串");

           }

           return result;

      }

}

通过Cache<T,T>的set方法添加缓存,使用get方法从缓存中取数据

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值