如何按分区设置的排序读取



我在redis中使用排序设置。

排序集中数据的共同价值超过100万。如何通过分区读取此排序?我的意思是前100000行,以下是?

只有一个命令可以获取数据:smembers set

您可以在排序设置上使用ZRANGE命令,并指定开始和停止以获取100,000个条目,然后为下一个ZRANGE进行100,001至200,000。

redis.io

上的zrange文档

您提到使用smembers set获取数据,但仅在非分组集上使用。如果您实际上使用的是非分组集,则需要使用SPOP并将计数定义为100,000。但是,这将同时删除所有这些条目。

redis.io

上的SPOP文档

您可以使用 SSCAN逐渐迭代未分组集的元素。从光标0开始,然后在随后的呼叫中使用返回的光标,直到再次返回0为止。

pantalones:6379> SSCAN five-characters 0 COUNT 3
   1) "7"
   2) 1) "d"
      2) "e"
      3) "a"
      4) "c"
pantalones:6379> SSCAN five-characters 7 COUNT 3
   1) "0"
   2) 1) "b"

在此示例中,第一个呼叫SSCAN返回7的光标,然后将其提供给第二个调用SSCAN。第二个呼叫返回0的光标,因此我们知道迭代已完成。

请参阅redis.io。

上的SSCAN文档

最新更新