当前位置: 首页 > 知识库问答 >
问题:

Spring Boot自定义缓存TTL

段干茂实
2023-03-14

我对spring boot中的缓存技术很陌生,我在我的项目中使用了缓存。现在我有一个新的需求,需要设置缓存TTL,并且TTL必须在密钥基础上扩展。

E、 g.如果我将缓存过期时间设置为5分钟,则在缓存过期之前,必须检查传入密钥是否存在于缓存中。如果传入密钥存在于缓存中,则TTL必须延长5分钟,否则应清除或收回缓存,并创建新的缓存。

我希望我清楚我的要求,请提供我的解决方案与完美的例子,适合我的要求。我提到了一些链接,如Ecache custom expiration,但我对如何在关键基础上通过自定义过期感到困惑。

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

提前感谢你指导我,
柴坦尼亚

共有1个答案

夹谷信鸿
2023-03-14

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

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

在此之前,您需要在初始化缓存的情况下创建一个Spring CacheManager bean。请参阅此StackOverflow链接,了解如何使用EhCache和创建缓存实例。

 类似资料:
  • 自定义state缓存 TIP starter 内置了2种缓存实现 一种是上一节演示的默认实现 另一种是用户自定义的扩展实现。 本节将会使用JustAuth-demo (opens new window)进行演示扩展Redis缓存的方式,当然了,你也可以自定义实现你自己的缓存。 添加 Redis 依赖 <dependency> <groupId>org.springframework.boo

  • 我使用的是版本。 我已经使用service Builder为portlet创建了自定义实体。我想缓存自定义实体。 我在我的portal-ext.properties中设置了以下属性以启用缓存。 我创建了ehcache.xml文件来覆盖ehcache-failsafe.xml来配置我的自定义实体,以便它能够启用缓存。 我的ehcache.xml文件在我的类路径[classpath:liferay-p

  • 自定义缓存类使用说明 phpGrace 1.2.1 版本新增了自定义缓存类的功能,您可以将某个相同类型的缓存封装为一个类文件,便于项目的复用 (: 实现步骤 在 phpGrace/caches/ 文件夹下创建您的自定义缓存类文件 文件命名规则 : 缓存类名称.php 类命名规则 : class 缓存类名称 extends \cacheBase{} 使用命名空间 : namespace phpG

  • 我们正在使用firebase实时数据库,我正在考虑在本地实现一个缓存来减少重复调用。

  • 我正在寻找集成Hazelcast到我的应用程序... 我的要求是将所有数据加载到缓存并从缓存中提取。。 我有两个选择。 1) Hazelcast IMap 2)因为我使用的是Spring启动,所以我可以使用(@Cacheable/@CacheEvict)。 我能得到一些建议吗... 提前谢谢你。。

  • 我计划使用infinispan作为我的Hibernate应用程序二级缓存。My all entities具有生命周期属性[新建- 简单地说,当实体生命周期属性状态到达已完成状态时,我想从缓存中驱逐实体。据我所知,Infinispan不支持自定义驱逐策略。处理我的情况的最佳方式是什么?