1 引入依赖包
<!--开启 cache 缓存-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- ehcache 缓存 -->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
2在application.properties中指定缓存类型及文件所在
spring.cache.type=ehcache
#ehcache配置
spring.cache.ehcache.config=classpath:config/ehcache.xml
3 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"
updateCheck="false">
<defaultCache
eternal="false"
maxElementsInMemory="1000"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LRU" />
<cache
name="OnLineUsers"
maxElementsInMemory="1000"
eternal="false"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="1800"
memoryStoreEvictionPolicy="LRU" />
</ehcache>
4 java类文件
@Component
public class OnLineUsersCache {
private static final String CACHE_NAME = "OnLineUsers";
@CachePut(value = CACHE_NAME, key = "#key")
public User save(String key, User user) {
return user;
}
@CacheEvict(value = CACHE_NAME, key = "#key")
public void delete(String key) {}
@Cacheable(value = CACHE_NAME, key = "#key")
public User find(String key) {
return null;
}
}
5 使用
在其他类中注入属性,调用即可
@Autowired
OnLineUsersCache usersCache;
6 在启动类上需要加注解
@EnableCaching