Java Spring启动缓存TTL

Java Spring启动缓存TTL,java,spring,caching,spring-boot,abstraction,Java,Spring,Caching,Spring Boot,Abstraction,我想使用Spring引导缓存抽象来缓存一些数据() 我愿意使用任何可用的提供商 我需要的主要内容是:我希望能够设置对象级别的TTL,而不仅仅是全局缓存级别的TTL 例如,对于缓存中存储的每个对象,我希望根据该对象的某些属性为该对象指定自定义TTL 我知道,要设置这样的内容,必须直接通过缓存提供程序完成;但是我还没有找到我的用例的例子——只找到了设置全局TTL的用例。有人能帮忙吗?您需要查看Spring boot可用的不同缓存实现的功能 支持基于入口值的变量到期,这会影响缓存实现的内部结构及其性能

我想使用Spring引导缓存抽象来缓存一些数据()

我愿意使用任何可用的提供商

我需要的主要内容是:我希望能够设置对象级别的TTL,而不仅仅是全局缓存级别的TTL

例如,对于缓存中存储的每个对象,我希望根据该对象的某些属性为该对象指定自定义TTL


我知道,要设置这样的内容,必须直接通过缓存提供程序完成;但是我还没有找到我的用例的例子——只找到了设置全局TTL的用例。有人能帮忙吗?

您需要查看Spring boot可用的不同缓存实现的功能

支持基于入口值的变量到期,这会影响缓存实现的内部结构及其性能。对于变量expiry,通常需要一个O(logn)数据结构。例如,番石榴和咖啡因不支持它。EHCache确实支持它,请参阅


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

如果您正在使用redis,您可以查看:

@Cached(expire=10,timeUnit=timeUnit.MINUTES)
用户getUserById(长用户ID)