SpringBoot简单集成Caffeine缓存

直接上代码

1.首先pom文件导入

        
            org.springframework.boot
            spring-boot-starter-cache
        

        
            com.github.ben-manes.caffeine
            caffeine
        

2.配置application.yml文件(此处是配置文件配置,还可以在配置类中配置)需要在启动类加

@EnableCaching注解。

maximumSize表示缓存的最大数量

Caffeine提供了三种定时驱逐策略:

expireAfterAccess(long, TimeUnit):在最后一次访问或者写入后开始计时,在指定的时间后过期。假如一直有请求访问该key,那么这个缓存将一直不会过期。
expireAfterWrite(long, TimeUnit): 在最后一次写入缓存后开始计时,在指定的时间后过期。
expireAfter(Expiry): 自定义策略,过期时间由Expiry实现独自计算。
 

spring:
  cache:
      type: caffeine
      cache-names: checkToken
      caffeine:
        spec: maximumSize=5000,expireAfterWrite=5s

测试:

    @Cacheable(value = "checkToken",key = "#token")
    public Map test(String token) {

        System.out.println("我走方法了");

        Map map=new HashMap<>();
        map.put("test","test");
        return map;
    }
------------------------------------------------------------------------------------

 /**
    *  
    * 测试类
    */
    @Test
    public void testCheckToken() throws InterruptedException {
        long l = System.currentTimeMillis();
        Map ret = authFilterService.test("1");
        long l1 = System.currentTimeMillis();
        System.out.println("一次查库time:"+(l1-l));
        System.out.println(ret);


        long s = System.currentTimeMillis();
        Map ret2 = authFilterService.test("1");
        long ss = System.currentTimeMillis();
        System.out.println("第二次缓存time:"+(ss-s));
        System.out.println(ret2);

        Thread.sleep(5000);


        long s8 = System.currentTimeMillis();
        Map ret8 = authFilterService.test("1");
        long ss8 = System.currentTimeMillis();
        System.out.println("睡眠后缓存过期第一次查time:" + (ss8 - s8));
        System.out.println(ret8);

        long s89 = System.currentTimeMillis();
        Map ret89 = authFilterService.test("1");
        long ss89 = System.currentTimeMillis();
        System.out.println("睡眠后缓存过期第二次查缓存time:" + (ss89 - s89));
        System.out.println(ret89);

    }
------------------------------------------------------------------------------

测试结果:

SpringBoot简单集成Caffeine缓存_第1张图片

最后一个简单的集成就完成了。

 

你可能感兴趣的:(SpringBoot简单集成Caffeine缓存)