使用Redis CLI,您可以query a sorted set by range并具有不受限制的上限:
zrangebyscore my_key 0 +inf
+inf
以及无限下限:-inf
。这将检索从0到最后一个成员的范围。
Spring Data Redis通过this method signature提供了此Redis命令的接口:
Set<V> rangeByScore(K key, double min, double max, long offset, long count);
和
Set<V> rangeByScore(K key, double min, double max);
这些仅允许您提供双精度值作为边界。
如何使用Spring Data Redis将+inf
或-inf
指定到ZRANGEBYSCORE的边界?
changelog中唯一提及它,因此以某种方式得到支持,但在其他地方找不到它。
也许您可以使用Double.NEGATIVE_INFINITY
和Double.POSITIVE_INFINITY
代表-inf和+ inf,我已经在我的机器上进行了测试,该机器运行良好(使用spring-boot-starter-data-redis version = 2.2.4.RELEASE )(它们都是双精度值)