SpringBoot 使用 Caffeine 本地缓存

SpringBoot 使用 Caffeine 本地缓存.png

Caffeine 介绍

官网地址:https://github.com/ben-manes/caffeine

Caffeine 是一个高性能的本地缓存库。

环境配置

  • JDK版本:1.8
  • Caffeine 版本:2.9.3
  • SpringBoot 版本:2.7.0

SpringBoot 集成 Caffeine

SpringBoot 有如下两种方式集成 Caffeine :

  • 方式一:直接引入 Caffeine 依赖,然后使用 Caffeine 方法实现缓存。
  • 方式二:引入 Caffeine 和 Spring Cache 依赖,使用 SpringCache 注解方法实现缓存。

我们这里只介绍方式一

1、引入相关依赖

<dependency>
    <groupId>com.github.ben-manes.caffeine</groupId>
    <artifactId>caffeine</artifactId>
</dependency>

2、缓存配置类

import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.concurrent.TimeUnit;

@Configuration
public class CacheConfig {
    @Bean
    public Cache<String, Object> caffeineCache() {
        return Caffeine.newBuilder()
                // 设置最后一次写入或访问后两个小时后过期
                .expireAfterWrite(7200, TimeUnit.SECONDS)
                // 初始的缓存空间大小
                .initialCapacity(100)
                // 缓存的最大条数
                .maximumSize(1000)
                .build();
    }
}

3、数据存取

// 1. 注入
@Resource
private Cache<String, Object> caffeineCache;

// 2. 存储数据
caffeineCache.put("access_token", token);

// 3. 读取数据
String token = (String) caffeineCache.asMap().get("access_token");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容