Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Redisson-RSortedSet_Java_Redisson - Fatal编程技术网

Java Redisson-RSortedSet

Java Redisson-RSortedSet,java,redisson,Java,Redisson,我需要保留在Redis中添加到集合中的元素的顺序。为了做到这一点,我使用带有自定义比较器的RSortedSet 我在这里面临的问题是,与RSetCache不同,我不能使这个集合中的元素过期 是否有解决方案来实现此用例?首先,RSortedSet是在Redis列表而不是集合上实现的。有一个RScoredSortedSet,它是在Redis ZSET之上实现的 为了实现元素过期,作为一种解决方法,您可以在添加到RSortedSet之前使用另一个RExpirable对象对其进行包装。你只需要自己做一些

我需要保留在Redis中添加到集合中的元素的顺序。为了做到这一点,我使用带有自定义比较器的RSortedSet

我在这里面临的问题是,与RSetCache不同,我不能使这个集合中的元素过期


是否有解决方案来实现此用例?

首先,RSortedSet是在Redis列表而不是集合上实现的。有一个RScoredSortedSet,它是在Redis ZSET之上实现的

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