Redisson - RSortedSet

Redisson - RSortedSet

我需要在 Redis 中保留添加到 SET 的元素的顺序。为此,我将 RSortedSet 与自定义比较器一起使用。

这里面临的问题是,与 RSetCache 不同,我无法使该 SET 中的元素过期。

是否有解决此用例的方法?

首先,RSortedSet 是在 Redis LIST 而非 SET 之上实现的。有一个在 Redis ZSET 之上实现的 RScoredSortedSet。

要实现元素过期,作为解决方法,您可以在添加到 RSortedSet 之前用另一个 RExpirable 对象将其包装起来。你只需要自己做一些额外的整理工作:当你得到一个 RExpirable 对象但它不存在时(isExists returns false),这意味着它现在已经过期了。然后你可以自己从RSortedSet中删除它。