JAVA本地缓存Cache简单使用

文章目录

    • 1.引入依赖:
    • 2.缓存配置
    • 3.控制器


1.引入依赖:

  
        com.github.ben-manes.caffeine
        caffeine
        2.9.0
    

2.缓存配置


@Configuration
public class CacheConfig {

    long accessToken = 1;

    long refreshToken = 2;

    @Bean
    public Cache accessToken() {
        return Caffeine.newBuilder()
                // 设置最后一次写入后经过固定时间过期
                .expireAfterWrite(accessToken, TimeUnit.MINUTES)
                // 初始的缓存空间大小
                .initialCapacity(15000)
                // 缓存的最大条数
                .maximumSize(15000)
                .build();
    }

    @Bean
    public Cache refreshToken() {
        return Caffeine.newBuilder()
                // 设置最后一次写入后经过固定时间过期
                .expireAfterWrite(refreshToken, TimeUnit.MINUTES)
                // 初始的缓存空间大小
                .initialCapacity(15000)
                // 缓存的最大条数
                .maximumSize(15000)
                .build();

    }
}
 

3.控制器

代码如下(示例):


import com.github.benmanes.caffeine.cache.Cache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EasyController {

    @Autowired
    Cache<String, Object> accessToken;

    @Autowired
    Cache<String, Object> refreshToken;

    @GetMapping("/put")
    public void set(@RequestParam String code) {
        refreshToken.put("code",code);
        Object str = refreshToken.asMap().get("code");
        //String str = (String) refreshToken.asMap().get("code");
        System.out.println(str);
    }

    @GetMapping("/get")
    public Object get(){
        Object code = refreshToken.asMap().get("code");
        return  code;
    }
    

}



你可能感兴趣的:(缓存,Cache,java,java,缓存,开发语言)