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

Ehcache3获取生存时间配置

东方修谨
2023-03-14

我正在从Ehcache2. X转换到Ehcache3.3.1,我找不到在运行时获取缓存的生存时间配置的方法。以前我使用:cache.getCacheConfiguration(). getTimeToLive秒()

现在,看起来我需要做一些类似于:< code > cache . getruntimeconfiguration()的事情。getExpiry()。getExpiryForCreation()。getLength()

但是,getExpireyForCreation()需要特定元素的键、值对,并似乎返回该元素的持续时间。

我在 API 或文档中是否遗漏了某些内容?

共有1个答案

窦国源
2023-03-14

我将在这里发布与ehcache邮件列表相同的答案。

到期实现可以非常动态,并使用给定的缓存键和值选择到期时间。

如果您知道您做了类似<code>Expirations.timeToLiveExpiration(持续时间为(20,TimeUnit.SECONDS)</code>的操作来创建它,那么它就不会是动态的。因此,您可以执行缓存.getRuntimeConfiguration().getExpiry()。GetExpireyForCreation(null,null)获取创建后缓存项的持续时间。

如果您想动态更改TTL,这是可能的,但您需要提供自己的到期实现(并不难做到)。使用TTL的setter。

但是,新值将仅适用于新添加的条目。现有条目不会看到它们的TTL更改。这是因为我们在添加条目时计算过期时间戳。而不是一直重新应用持续时间。出于性能原因。

 类似资料:
  • 我将使用Ehcache和Springboot。我只是想知道在处理大量请求时,什么会是最佳配置。 在直播期间,我们可能会收到超过30000 req/h。虽然在开发中,我们无法生成此方案。 你能帮我如何计算内存,以创建一个最佳配置,应在Prod中完美工作。 我检查了Postman中的响应大小,在Dev中为3-5 kb,因此我保留了以下配置,但不确定它会有多好。我们的内存大小为2GB(在prod中,我们

  • This is the length of time in seconds that a template cache is valid. Once this time has expired, the cache will be regenerated. $caching must be set to "true" for $cache_lifetime to have any purpose.

  • 问题内容: 我想获取UTC时区的时间。所以我写了代码: 问题是输出显示了我的PST时间(我的本地时区)。我需要它来输出UTC时间,以便将其存储在数据库中。 问题答案:

  • 我想要得到UTC时区的时间。所以我写了代码: 问题是输出显示了PST(我的本地时区)中的时间。我需要它以UTC的形式输出时间,这样我就可以把它存储在我的数据库中。

  • 问题内容: 我正在尝试获取Android应用程序的基本时间。我使用http://hi- android.info/src/android/net/SntpClient.java.html 作为NTP客户端,并使用以下代码来实现NTP(=来自SntpClient.java的示例代码): 我尝试了以下列表中的其他服务器:http : //mindprod.com/jgloss/timesources.

  • 问题内容: 尝试在Eclipse中启动和运行flex / java项目时,我一直使用Eclipse,Tomcat和JRE收到“内存不足异常”和“ Java堆空间”。 在研究尝试调整内存设置时,我发现了三个地方来调整这些设置: Eclipse.ini 窗口>首选项下的JRE设置 Catalina.sh或Catalina.bat 在这些不同位置设置-xms和-xmx有什么区别,这是什么意思? 有什么方