我正在尝试@CacheableSpring 3.1 的注释支持,并想知道是否有任何方法可以通过设置TTL使缓存数据在一段时间后清除?现在我可以看到我需要通过使用它来清除它@CacheEvict,并且通过使用它@Scheduled我可以自己做一个TTL实现但是对于这么简单的任务似乎有点多了?
在关于缓存的spring文档之后,我可以在我的项目中使用缓存,但是如何配置guava来定义每个缓存名称的过期时间或大小?
applicationConfig.xml
<bean id="cacheManager" class="org.springframework.cache.guava.GuavaCacheManager"/>
Run Code Online (Sandbox Code Playgroud)
Foo.java
@Cacheable(value="courses", key="#user.id")
public List<Course> getCoursesByUser(User user) {
...
}
Run Code Online (Sandbox Code Playgroud)