jedis 中 zrangebyscore 与字符串 min 和 max 的行为
Behaviour of zrangebyscore with string min and max in jedis
Jedis中我想了解的函数的方法签名如下:
Set<String> zrangeByScore(String key,
String min,
String max,
int offset,
int count)
Redis 文档中有关于此方法的信息,其中包含双最小值和最大值,但我无法在任何地方找到任何关于它如何使用字符串最小值和最大值以及偏移量和计数的说明。
可以请我描述一下这个方法吗?
Jedis 库的源代码是开源的,因此您可以从 Github 查看它并自行查看。这是一个非常容易理解的库,所以我推荐它。
https://github.com/xetorthio/jedis/blob/master/src/main/java/redis/clients/jedis/Jedis.java
如果您遵循采用 double
min
和 max
的 zrangeByScore
方法,库实际上会将 double
参数转换为 String
s,在将 String
转换为 byte[]
并发送到 Redis 之前。采用 String
min
和 max
的方法将它们直接转换为 byte[]
。如果你看所有参数实际上发送到Redis作为byte[]
因此字符串版本与 double
版本完全相同(它仍然希望您使用数字作为最小值和最大值),它只是为了方便。
Jedis中我想了解的函数的方法签名如下:
Set<String> zrangeByScore(String key,
String min,
String max,
int offset,
int count)
Redis 文档中有关于此方法的信息,其中包含双最小值和最大值,但我无法在任何地方找到任何关于它如何使用字符串最小值和最大值以及偏移量和计数的说明。
可以请我描述一下这个方法吗?
Jedis 库的源代码是开源的,因此您可以从 Github 查看它并自行查看。这是一个非常容易理解的库,所以我推荐它。
https://github.com/xetorthio/jedis/blob/master/src/main/java/redis/clients/jedis/Jedis.java
如果您遵循采用 double
min
和 max
的 zrangeByScore
方法,库实际上会将 double
参数转换为 String
s,在将 String
转换为 byte[]
并发送到 Redis 之前。采用 String
min
和 max
的方法将它们直接转换为 byte[]
。如果你看所有参数实际上发送到Redis作为byte[]
因此字符串版本与 double
版本完全相同(它仍然希望您使用数字作为最小值和最大值),它只是为了方便。