我在redis中使用排序设置。
排序集中数据的共同价值超过100万。如何通过分区读取此排序?我的意思是前100000行,以下是?
只有一个命令可以获取数据:smembers set
您可以在排序设置上使用ZRANGE
命令,并指定开始和停止以获取100,000个条目,然后为下一个ZRANGE
进行100,001至200,000。
redis.io
上的zrange文档您提到使用smembers set
获取数据,但仅在非分组集上使用。如果您实际上使用的是非分组集,则需要使用SPOP
并将计数定义为100,000。但是,这将同时删除所有这些条目。
redis.io
您可以使用 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。