是否有一种方法可以根据缓存的POJO属性指示过期/逐出缓存对象。
在下面的代码中,它缓存Foo
实例。 Foo类有expiresIn
属性
class Foo {
日期到期;
}
我想提示基于缓存元素的expiresIn
属性的值使spring缓存到期。这可行吗?
@Cacheable("my-cache-key")
Foo getCachedToken(String userName, String password) throws AuthException
我的Cache.xml如下:
<cache:annotation-driven/>
<bean id="cacheManager" class="org.springframework.cache.support.CompositeCacheManager">
<property name="cacheManagers">
<list>
<ref bean="mapCacheManager"/>
</list>
</property>
</bean>
<bean id="mapCacheManager" class="org.springframework.cache.concurrent.ConcurrentMapCacheManager">
<property name="cacheNames">
<list>
<value>my-cache-key</value>
</list>
</property>
</bean>
答案 0 :(得分:0)
我猜您错过了参考指南中的部分名称How can I set the TTL/TTI/Eviction policy/XXX feature?。
这是一个缓存基础架构抽象;它不是缓存提供者。 ConcurrentMapCacheManager
是我们为测试目的或超简单用例提供的非常简单的实现。如果您需要驱逐策略,请选择支持该驱逐策略的缓存库。想到Ehcache,Guava或Hazelcast。所有这些都有CacheManager
实现。