redis - hscan命令redis中的游标是什么意思?

标签 redis

对于 HSCAN我看到了下面的例子

hscan name 0 match key*

引用文档我看到数字是光标。我尝试更改数字,但从未看到不同的结果。

这个数字到底有什么意义?

最佳答案

HSCAN 迭代哈希数据结构中的字段。游标返回它(以及 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

关于redis - hscan命令redis中的游标是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623715/

相关文章:

ruby-on-rails - rails 上的 Redis 发布/订阅

redis - 使用 Redis 的速率限制?

Redis - Tomcat session 管理器 : Read from Slave

node.js - 获取Redis数据库的ReadStream

caching - 如何在运行时在 Application.conf 中添加条目?

python - 如何每 5 小时自动运行 Python 文件(使用 Redis 队列)

Django-redis 配置使用套接字而不是 TCP

redis - 获取具有给定前缀的所有排序集的大小

python - 一根 celery 打,很多 worker ?

node.js - Connect.sid 始终未定义并且 req.session ID 不断重置