对于HSCAN,我看到了以下示例
hscan name 0 match key*
引用文档我看到数字是光标。我尝试更改数字,但从未看到过不同的结果。
该号码的重要性究竟是什么?
1 个答案:
答案 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