以下是一个使用 Spring Boot 的本地缓存的代码示例:

  1. 添加依赖:在 pom.xml 文件中添加 Spring Boot 的缓存依赖。
<!-- Spring Boot Cache Starter -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
  1. 配置缓存:在 application.propertiesapplication.yml 文件中配置缓存的属性。
# 使用默认的缓存配置
spring.cache.type=SIMPLE
  1. 以下是获取和添加数据到缓存的代码示例:
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 方法将数据添加到缓存中。

  1. 使用缓存:在其他组件或服务中调用需要缓存的方法。
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 的缓存支持提供了更多的注解和选项,可以根据具体需求进行进一步的定制和扩展。