2017-04-19 204 views
1

我想用Spring Boot Cache Abstraction来缓存一些数据(https://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html)。我愿意使用任何可用的提供者。Spring Boot Cache TTL

我需要的主要是这样的:我想能够设置对象级别的TTL,而不仅仅是全局缓存级别的TTL。

E.g.对于我存储在缓存中的每个对象,我希望根据该对象的某些属性指定对象的自定义TTL。

我知道要设置类似这样的东西,它必须通过缓存提供程序直接完成。但是我一直无法找到我的用例的例子 - 只发现了全局TTL被设置的用例。谁能帮忙?

回答

0

您需要查看可用于Spring引导的不同缓存实现的功能。

支持基于入口值的变量失效对高速缓存实现的内部及其性能有影响。随着变量到期,你通常需要一个O(log n)数据结构。例如,番石榴和咖啡因不支持它。 EHCache支持它,请参阅Documentation about expiry

所要求的功能是“超越”Spring的抽象,这意味着,您需要为一个特定的缓存实现生成代码。