我有一个简单的redis set
超过1毫克的笔记。我使用sadd
如何通过分区阅读此设置?
我的意思是先阅读100 000个密钥并在20万之后阅读?
答案 0 :(得分:2)
我不确定你的意思是"通过分区",但如果你想以块的形式阅读它,SSCAN
就是你的朋友。
SSCAN key cursor [MATCH pattern] [COUNT count]
您在游标中以值0开头,每次都会获得下一个游标ID和COUNT
元素。如果没有更多要阅读的内容,您可以获得0的光标。
例如:
# let's add 14 elements to a set
127.0.0.1:6379> SADD myset e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12 e13 e14
(integer) 14
# now let's scan it from the "beginning" (notice that it's not ordered)
127.0.0.1:6379> SSCAN myset 0 COUNT 10
1) "3"
2) 1) "e8"
2) "e10"
3) "e2"
4) "e11"
5) "e7"
6) "e3"
7) "e14"
8) "e4"
9) "e6"
10) "e9"
# we got a cursor id of 3, let's give that to the next iteration!
127.0.0.1:6379> SSCAN myset 3 COUNT 10
1) "0"
2) 1) "e13"
2) "e12"
3) "e5"
4) "e1"
# now we got a cursor id of 0, meaning we're done