根据条目字段为所有条目在榛树广播中设置TTL /记录有效期

面条

我们正在尝试为地图中的每条记录设置自定义到期时间。每个对象都有一个字段“ long expireDate”,当我们希望删除该对象时,该时间以毫秒为单位。

我们是否也能够实施某些策略以根据每个条目的此字段的值删除记录?

调查了这个问题,但这是每个看跌期权的结果。在hazelcast中设置TTL /记录到期

IMap::put(Key, Value, TTL, TimeUnit)

问题是我们95%的条目都使用putAll放置在此处,因此无法以这种方式提供。

迈克·哈恩(Mike Yawn):

IMDG 3.11和更高版本中提供的IMap.setTTL()方法允许您在Map中的条目上设置单个TTL值。我认为这里的解决方案是编写一个小的过程,该过程读​​取条目的expireDate值,计算当前系统时间的偏移量,并将映射条目的TTL设置为该偏移量。

然后,该过程可以作为EntryProcessor(也许紧跟在putAll操作之后,使用同一组键)执行,也可以作为MapListener来执行,只要添加条目(或更新,如果更新有时会更改expireData值)就会触发该MapListener )。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章