首页 文章

Spring Boot自定义缓存TTL

提问于
浏览
0

我是新手,在我的项目中使用 @cache 的spring boot中缓存技术 . 现在我有一个新的要求,需要设置缓存TTL,并且TTL必须在密钥的基础上扩展 .

例如 . 如果我将缓存到期时间设置为5分钟,则在缓存过期之前,必须检查缓存中是否存在传入密钥,如果它存在于缓存中,则TTL必须延长5分钟,否则应清除或逐出缓存,并应创建新缓存 .

我希望我能清楚我的要求,请为我提供符合我要求的完美范例的解决方案 . 我已经提到了一些像Ecache自定义过期的链接,但我对如何在密钥基础上传递自定义过期感到困惑 .

http://www.ehcache.org/documentation/3.1/expiry.html

在此先感谢指导我,
切塔尼亚

1 回答

  • 0

    使用spring-boot,您需要在方法调用上使用@Cacheable,例如

    @Cacheable(names = "eventCache", key = "#eventId")
    Event getByEventId(String eventId);
    

    在此之前,您需要创建一个初始化缓存的Spring CacheManager bean . 有关如何使用EhCache执行此操作并创建缓存实例,请参阅此StackOverflow链接 .

相关问题