更新维护过期时间的 Infinispan 对象

Update Infinispan objects maintaining expiration time

我正在使用 org.infinispan.Cache (Infinispan API) 的实例,因此放置、删除和查找对象非常容易。

我放置的对象有固定的生命周期。比如我放了一个生命周期为5分钟的对象。在这个对象的生命周期中,我想修改一些属性,但又想保持原来的生命周期。例如,2 分钟后我更新了对象。我希望我的对象在更新后 3 分钟后过期。

我认为一个简单的方法是获取对象,计算剩余寿命并使用剩余寿命在缓存 API 上调用 replace() 方法。但是这个方法有点棘手。

我查看了 org.infinispan.Cache API,但我找不到一个简单的方法来 update/replace 对象并保持其原始寿命。所有方法都接收生命周期作为参数。

有没有一种简单的方法来更新 infinispan 对象以保持原来的寿命?

非常感谢!

唯一的其他选择是直接修改您的对象。如果您的缓存没有集群并且您既没有使用缓存存储也没有启用 store-as-binary,那么这将起作用。

但是,它需要同步您的对象,并且会破坏事务隔离。因此,我建议您保留当前的方法。