我需要保留在Redis中添加到SET中的元素的顺序。为此,我将RSortedSet与自定义比较器一起使用。
这里面临的问题是,与RSetCache不同,我无法使此SET中的元素过期。
是否有解决此用例的方法?
最佳答案
首先,RSortedSet是在Redis LIST而不是SET上实现的。有一个RScoredSortedSet,它在Redis ZSET之上实现。
要解决元素过期问题,您可以在添加到RSortedSet中之前,用另一个RExpirable对象包装它。您只需要做一些额外的工作即可:保留一个RExpirable对象,但该对象不存在(isExists
返回false),这意味着该对象现已过期。然后,您可以自己从RSortedSet中删除它。