SpringBoot 缓存
在Spring Boot中,你可以使用各种缓存解决方案,包括使用Spring Boot提供的缓存抽象或者集成Redis、EhCache等第三方缓存框架。
以下是一个使用Spring Boot Cache Abstraction的例子,使用内存中的ConcurrentMap作为缓存:
- 在
pom.xml
中添加Spring Boot Cache依赖(如果你使用的是Gradle,则对应添加到build.gradle
中):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
- 在Spring Boot应用的主类或配置类上添加
@EnableCaching
注解启用缓存:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
@EnableCaching
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
- 使用缓存注解:
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@Service
public class MyService {
@Cacheable(value = "myCache")
public String getData(String key) {
// 模拟从数据库获取数据
return "data for " + key;
}
}
在上面的例子中,@Cacheable
注解指定了getData
方法的返回值应该被缓存。缓存的名字是myCache
。当相同的key
再次调用getData
方法时,返回值将直接从缓存中获取,而不是执行实际的方法。
如果你想使用Redis作为缓存,你可以添加Spring Data Redis依赖并进行配置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
然后在application.properties
或application.yml
中配置Redis连接信息:
# application.properties
spring.redis.host=localhost
spring.redis.port=6379
这样就可以使用Redis作为缓存解决方案了。只需要将@Cacheable
注解的value
属性更改为对应的缓存名称即可。
请根据你的具体需求选择合适的缓存解决方案,并进行相应的配置。
评论已关闭