gpt4 book ai didi

java - 如何在 PassiveExpiringMap 中获取 TTL

转载 作者:行者123 更新时间:2023-12-02 11:29:17 27 4
gpt4 key购买 nike

我初始化了一个PassiveExpiringMap,如下所示:

Map<String, Boolean> expiringMap;
expiringMap = new PassiveExpiringMap<>(1000));

现在,稍后我想获取 TTL(此处为 1000)。我该如何去做呢?我发现有个东西叫expirationTime ,但无法使用它。

谢谢!

最佳答案

不,这是不可能的(除非您采用某种涉及反射的解决方案)。

一旦您创建了一个传递 TTL 的 PassiveExpiringMap 实例,它就会创建一个将 TTL 传递给它的 ExpirationPolicy (ConstantTimeToLiveExpirationPolicy)。 TTL 存储在实例变量 timeToLiveMillis 中这是私有(private)

您提到的expirationTime用于计算对象的过期时间(只不过是当前时间(以毫秒为单位)+您传递的TTL)。当您将对象插入到 map 中时,就会计算它。

<小时/>

一种方法是创建一个包装器对象来保存PassiveExpiringMap和TTL,例如

class ExpiringMapWithTTL {
private Map<String, Boolean> expiringMap;
private long ttl;
//Builder or Getters, Setter
}

关于java - 如何在 PassiveExpiringMap 中获取 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49390863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com