Hello! 欢迎来到小浪云!


scan 命令在 Redis 中如何使用


avatar
小浪云 2024-12-16 131

scan 命令允许迭代 redis 键值对。它使用游标跟踪进度,支持模式匹配和指定每次迭代返回的键值对数量。使用 scan 0 开始迭代,随后的调用使用上次返回的游标。该命令返回一个游标和包含检索到的键值对的数组。scan 是无阻塞的,并且每次迭代最多返回 1000 个键值对。完成迭代需要在游标变为 0 时停止。

scan 命令在 Redis 中如何使用

SCAN 命令在 redis 中的使用

概述

SCAN 命令用于迭代 Redis 数据库中的键值对。它提供了一种高效且可扩展的方式来遍历大型数据集。

语法

SCAN cursor [MATCH pattern] [count count]

参数说明

  • cursor:用于跟踪迭代进度的游标。初始值应为 0。
  • MATCH pattern:用于匹配要检索的键的模式。
  • COUNT count:指定每次迭代中要返回的键值对数量。

用法

使用 SCAN 命令时,需要指定一个游标作为起始点。首次调用时,游标应为 0。后续调用应使用上一次调用返回的游标。

该命令将返回一个包含两个元素的数组:

  • 游标:用于继续迭代的更新游标。
  • 值:一个数组,其中包含每次迭代中检索的键值对。

示例

# 迭代所有键值对 SCAN 0  # 迭代以 "foo" 开头的键 SCAN 0 MATCH foo*  # 每次迭代返回 10 个键值对 SCAN 0 COUNT 10

注意事项

  • SCAN 命令是无阻塞的,这意味着它不会阻止服务器执行其他操作。
  • SCAN 命令每次迭代最多返回 1000 个键值对。使用 COUNT 参数可以控制每次迭代返回的键值对数量。
  • 要完成迭代,需要在游标为 0 时停止。

相关阅读