答案 0 :(得分:2)
HSCAN
遍历Hash数据结构中的字段。返回它的光标(以及SCAN
系列的所有成员)是Redis用来标识"位置"的数字。它停在了。
你不应该使用随机数。第一次拨打HSCAN
时,您提供的光标应为0
。 Redis的'回复由两部分组成 - 新光标和字段列表。要从HSCAN
获取下一个字段列表,您应该提供前一个调用返回的光标(编号)。重复此操作直到Redis返回0
作为游标 - 这意味着迭代已经完成。
在伪Redis Lua中,迭代一些Hash将如下:
local cursor=0
local fields={}
do
cursor, fields = redis.call('HSCAN', cursor, 'somehashkey')
-- do something with the fields
while cursor ~= 0