Java Hazelcast在Imap中获取密钥的ttl

Java Hazelcast在Imap中获取密钥的ttl,java,scala,hazelcast,scala-collections,hazelcast-imap,Java,Scala,Hazelcast,Scala Collections,Hazelcast Imap,我使用set将值放在IMap上,在IMap上设置ttl。 我试图解决的问题是,当我从地图上读取密钥时,我希望能够得到相应的ttl。我是hazelcast的新手,希望能得到一些帮助 val testMap: IMap[String, String] = hc.getNativeInstance().getMap(testhcMap) if (!testMap.containsKey(key)) { val duration = TimeUnit.HOURS val ttlLen: Long

我使用set将值放在IMap上,在IMap上设置ttl。 我试图解决的问题是,当我从地图上读取密钥时,我希望能够得到相应的ttl。我是hazelcast的新手,希望能得到一些帮助

val testMap: IMap[String, String] = hc.getNativeInstance().getMap(testhcMap)
if (!testMap.containsKey(key)) {
  val duration = TimeUnit.HOURS
  val ttlLen: Long = 1
  md5Map.set(key: String, event: acp_event, ttlLen: Long, duration: TimeUnit)
  return true
}

上面的代码段设置了这些值。在将数据插入IMap之前,我想再添加一次检查,我想检查ttl是否少于一小时,并在此基础上执行一些操作。

您无法访问ttl值。在实际将其存储在Hazelcast中之前,必须将其存储在key或value中(deadline=>currentTime+timeout=deadline)。最简单的方法可能是使用类似信封的类来存储实际值+截止日期。

这将帮助您:

IMap<String, String> foo;
foo.getEntryView(key).getExpirationTime();
IMap-foo;
getEntryView(键).getExpirationTime();

您能提供更多的上下文吗?