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

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

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

最佳答案

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

要解决元素过期问题,您可以在添加到RSortedSet中之前,用另一个RExpirable对象包装它。您只需要做一些额外的工作即可:保留一个RExpirable对象,但该对象不存在(isExists返回false),这意味着该对象现已过期。然后,您可以自己从RSortedSet中删除它。

07-27 22:55