如何在Spring Boot中使用EhCache缓存
在Spring Boot中使用EhCache缓存,你需要完成以下步骤:
- 添加EhCache的依赖到你的
pom.xml
文件中。 - 配置EhCache缓存。
- 使用缓存。
以下是具体的实现方式:
- 添加EhCache的依赖到
pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
- 在
src/main/resources
目录下创建EhCache的配置文件ehcache.xml
:
<ehcache>
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxElementsOnDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
</defaultCache>
<cache name="sampleCache"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU"/>
</ehcache>
- 在Spring Boot的配置类中启用缓存:
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableCaching
public class CacheConfig {
}
- 使用缓存:
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
@Service
public class SampleService {
@Cacheable(value = "sampleCache", key = "#id")
public String getData(String id) {
// 模拟数据获取
return "Data for " + id;
}
}
在上述示例中,@EnableCaching
注解启用了缓存,@Cacheable
注解标记了getData
方法,该方法的返回值将被缓存。缓存的名字是sampleCache
,使用方法参数id
作为缓存的键。如果再次调用带有相同id
的getData
方法,则结果将直接从缓存中返回,而不是重新执行方法。
评论已关闭