springboot 内存缓存
时间: 2023-11-23 17:58:25 浏览: 317
以下是使用Spring Boot和Caffeine实现内存缓存的步骤:
1.添加依赖关系
在pom.xml文件中添加以下依赖关系:
```xml
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.0</version>
</dependency>
```
2.创建缓存配置类
创建一个缓存配置类,用于配置缓存管理器和缓存类型。在这个类中,我们使用Caffeine作为缓存提供程序,并设置缓存的最大大小和过期时间。
```java
@Configuration
@EnableCaching
public class CacheConfig {
@Bean
public CacheManager cacheManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager();
cacheManager.setCaffeine(caffeineCacheBuilder());
return cacheManager;
}
Caffeine<Object, Object> caffeineCacheBuilder() {
return Caffeine.newBuilder()
.maximumSize(100)
.expireAfterAccess(5, TimeUnit.MINUTES)
.weakKeys()
.recordStats();
}
}
```
3.在需要缓存的方法上添加@Cacheable注释
在需要缓存的方法上添加@Cacheable注释,指定缓存的名称和键。当方法被调用时,如果缓存中已经存在相应的键,则直接返回缓存中的值,否则执行方法并将结果存储在缓存中。
```java
@Service
public class MyService {
@Cacheable(value = "myCache", key = "#id")
public String getData(String id) {
// 从数据库或其他数据源获取数据
return "data";
}
}
```
4.启动应用程序
在启动应用程序时,@EnableCaching注释将启用缓存支持,并使用我们在CacheConfig类中定义的缓存管理器。
```java
@SpringBootApplication
@EnableCaching
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
```
阅读全文