首页 > 解决方案 > 如何管理 Redisson 嵌套对象的过期

问题描述

我正在使用 Redisson 库来管理 redis 中的数据并具有以下 POJO(在此处保留 get/set/constructor)。

@REntity  
Class A {
  @RId
  String id;
  ....
  List<B> listOfB;
}

@REntity
class B {
 @RId
 String id
 .....
}

A 和 B 实例都是使用 RLiveObjectService 创建的,并使用 asRExpirable 设置为过期。
第一个问题是 B 类的实例没有过期 - 为了解决我将 B 实例显式标记为可过期的问题。但是我仍然在 A 类的 redis 中留下了“listOfB”哈希,它们永远不会被删除/过期。
如何处理这个,所以这些也过期了?

我假设仍然不支持嵌套的 LiveObjects 过期(redisson 3.11.1)。寻求确认

标签: javaredisredisson

解决方案


这是解决它的方法(从实例获取列表,分配给 RList)-

RList<> = (RList<>) a.getListOfB()

除 A 和 B 实例外,将 RList 标记为过期。


推荐阅读