以下是一个使用 Spring Boot 的本地缓存的代码示例:
- 添加依赖:在
pom.xml
文件中添加 Spring Boot 的缓存依赖。
<!-- Spring Boot Cache Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
- 配置缓存:在
application.properties
或application.yml
文件中配置缓存的属性。
# 使用默认的缓存配置
spring.cache.type=SIMPLE
- 以下是获取和添加数据到缓存的代码示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.stereotype.Service;
@Service
public class MyService {
@Autowired
private CacheManager cacheManager;
public Object getDataFromCache(String key) {
Cache cache = cacheManager.getCache("myCache"); // 根据缓存名称获取缓存对象
Cache.ValueWrapper valueWrapper = cache.get(key); // 根据键获取缓存值包装器
if (valueWrapper != null) {
return valueWrapper.get(); // 返回缓存值
}
return null; // 缓存中不存在指定键的值
}
public void addToCache(String key, Object value) {
Cache cache = cacheManager.getCache("myCache"); // 根据缓存名称获取缓存对象
cache.put(key, value); // 将数据添加到缓存中
}
}
在上述示例中,MyService
类中包含了获取数据和添加数据到缓存的方法。通过注入 CacheManager
实例,我们可以获取名为 “myCache” 的缓存对象。
getDataFromCache
方法用于从缓存中获取指定键的数据。它首先获取缓存对象,然后使用 cache.get(key)
方法获取缓存值包装器。如果找到了缓存值,通过 valueWrapper.get()
方法获取实际的缓存值。如果缓存中不存在指定键的值,返回 null
。
addToCache
方法用于将数据添加到缓存中。它获取缓存对象,然后使用 cache.put(key, value)
方法将数据添加到缓存中。
请确保在使用 MyService
类之前已经配置了合适的缓存管理器(如 SimpleCacheManager
或其他自定义的缓存管理器),并且已经定义了名为 “myCache” 的缓存。
使用时,你可以调用 getDataFromCache
方法获取缓存数据,或调用 addToCache
方法将数据添加到缓存中。
- 使用缓存:在其他组件或服务中调用需要缓存的方法。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Autowired
private MyService myService;
public void doSomething() {
String result = myService.getDataFromCache("myKey");
System.out.println(result);
}
}
在上述示例中,我们使用 Spring Boot 的缓存支持。通过在需要缓存的方法上添加 @Cacheable
注解,我们可以指定缓存的名称,并定义缓存的行为。在调用缓存方法时,如果缓存中存在对应的值,将直接返回缓存值;如果缓存中不存在,则执行方法体逻辑,并将结果缓存起来。
注意:上述示例中使用了默认的简单缓存 (SIMPLE
),适用于本地缓存。如果需要使用其他缓存提供商(如 Redis),可以进行相应的配置和依赖添加。
这只是一个简单的示例,你可以根据自己的需求和业务逻辑进行更复杂的缓存操作和配置。Spring Boot 的缓存支持提供了更多的注解和选项,可以根据具体需求进行进一步的定制和扩展。