对于HSCAN我看到了以下示例
hscan name 0 match key*
Run Code Online (Sandbox Code Playgroud)
参考文档我看到数字是光标。我尝试更改数字,但从未看到不同的结果。
这个数字到底有什么意义呢?
HSCAN迭代哈希数据结构中的字段。游标返回它(以及该SCAN系列的所有成员),是 Redis 用于标识其停止的“位置”的数字。
您不应该使用随机数。第一次调用时HSCAN,您提供的光标应该是0。Redis 的回复由两部分组成 - 一个新游标和一个字段列表。要从中获取下一个字段列表,HSCAN您应该提供前一个调用返回的光标(数字)。重复此操作,直到 Redis0作为游标返回 - 这意味着迭代已完成。
在伪 Redis Lua 中,迭代一些 Hash 将如下所示:
local cursor=0
local fields={}
do
cursor, fields = redis.call('HSCAN', cursor, 'somehashkey')
-- do something with the fields
while cursor ~= 0
Run Code Online (Sandbox Code Playgroud)