springboot ehcache
Posted 正怒月神
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot ehcache相关的知识,希望对你有一定的参考价值。
直接上代码
一,POM
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.10.8</version>
</dependency>
二,配置xml
ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<diskStore path="java.io.tmpdir" />
<!-- 默认缓存 -->
<defaultCache
maxElementsInMemory="10000"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxElementsOnDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
<persistence strategy="localTempSwap" />
</defaultCache>
<!-- 测试 -->
<cache name="testcache"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
maxEntriesLocalHeap="10000"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU">
</cache>
</ehcache>
application:
spring:
cache:
type: ehcache
ehcache:
config: classpath:config/ehcache.xml
启动类:
添加 @EnableCaching
@SpringBootApplication
@EnableCaching
public class ReportApplication
public static void main(String[] args)
SpringApplication.run(ReportApplication.class, args);
三,创建Service / Impl
PS:必须有Service接口,不然缓存失效
Service:
public interface TestService
String testCache(String str);
Impl:
@Service
public class TestImpl implements TestService
@Cacheable(value = "testcache", key = "#str")
@Override
public String testCache(String str)
int a = new Random().nextInt();
return a+"";
四,调用
@RestController
@RequestMapping("api/test")
public class TestPController
@Autowired
TestService testService;
@ApiOperation(value = "report test")
@RequestMapping(value = "test", method = RequestMethod.POST)
public ApiResponse<String> test(@RequestBody ApiRequest<String> req) throws Exception
String a=testService.testCache(req.getData());
return new ApiResponse<>().Success(a);
以上是关于springboot ehcache的主要内容,如果未能解决你的问题,请参考以下文章