• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SpringBoot 缓存 Caffeine使用解析

springboot 搞代码 4年前 (2022-01-09) 17次浏览 已收录 0个评论
文章目录[隐藏]

Redis和Caffeine的区别

相同点

  • 两个都是缓存的方式

不同点

  • redis是分布式缓存,通过网络将数据存储到redis服务器内存里
  • caffeine是将数据存储在本地应用里
  • caffeine和redis相比,没有了网络IO上的消耗

联系

  • 一般将两者结合起来,形成一二级缓存。
  • 使用流程大致如下:
  • 先去一级缓存中查找数据(caffeine-本地应用内),
  • 如果没有的话,去二级缓存中查找数据(redis-内存),
  • 再没有,再去数据库中查找数据(数据库-磁盘)

Spring Boot 缓存 Caffeine使用

1.需要添加的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.ben-manes.caffeine</groupId>
            <artifactId>caff<em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em>eine</artifactId>
            <version>2.8.6</version>
        </dependency>

2.配置

在SpringBoot中配置Caffeine,控制缓存行为(例如过期时间,缓存大小限制等)

import com.github.benmanes.caffeine.cache.Caffeine;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.caffeine.CaffeineCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
@Configuration
@EnableCaching //开启缓存
public class CaffeinConfig {
    @Bean
    //配置Caffeine缓存行为(例如到期,缓存大小限制等)
    public Caffeine caffeineConfig() {
        Caffeine caffeine = Caffeine.newBuilder()
                .expireAfterWrite(60, TimeUnit.MINUTES)
                .maximumSize(1000);
        return caffeine;
    }
    @Bean
    public CacheManager cacheManager(Caffeine caffeine) {
        CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager();
        caffeineCacheManager.setCaffeine(caffeine);
        return caffeineCacheManager;
    }
}

Caffeine配置说明:

initialCapacity=[integer]:初始的缓存空间大小

maximumSize=[long]:缓存的最大条数


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SpringBoot 缓存 Caffeine使用解析
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址